Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.01.2010, 18:58   #1
Smile.id
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 17
По умолчанию Графика С++

Возникла проблема с построением графика функции:
х=b*(t^2-1)/(t^2+1)
y=b*t*(t^2-1)/(t^2+1)
Где б-параметр, задающийся с клавиатурыю
Програма выводит просто набор точек, которые явно графиком не являються =) Ктото может подсказать, в чем проблема?

Код:
#include<conio.h>
#include <graphics.h>
#include <math.h>
#include <bios.h>
#include <math.h>
#include <iomanip.h>

int x0,y0;

void main()
{
int b;
cin>>b;
	int x,t,y;
	int gdriver = DETECT, gmode, errorcode;

	initgraph(&gdriver, &gmode, "h:\\bc31\\bgi");
	x0=getmaxx()/2;
	y0=getmaxy()/2;
	setcolor(2);
	line(x0, 0, x0, getmaxy());
	line(0, y0, getmaxx(), y0);
	for(t=-100;t<=100;t++)
	 {x=b*(t*t-1)/(t*t+1);
	 y=b*t*(t*t-1)/(t*t+1);
	 putpixel(x+x0, y+y0, 15);
	 }
	setcolor(2);
	line(x0, 0, x0, getmaxy());
	line(0, y0, getmaxx(), y0);
	if(bioskey(0)==283) closegraph();
}
Smile.id вне форума Ответить с цитированием
Старый 04.01.2010, 10:47   #2
Smile.id
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 17
По умолчанию

Просто помогите с синтаксисом функций, а дальше я сам разберусь
Smile.id вне форума Ответить с цитированием
Старый 04.01.2010, 13:00   #3
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

синтаксис нормальный, логика хромает

нужно вместить весь график в прямоугольник 640x480, при этом следует помнить, что Y увеличивается сверху вниз

Последний раз редактировалось Namolem; 04.01.2010 в 13:24.
Namolem вне форума Ответить с цитированием
Старый 04.01.2010, 13:24   #4
Namolem
Oo
Форумчанин
 
Аватар для Namolem
 
Регистрация: 10.10.2009
Сообщений: 350
По умолчанию

вот что-то похожее на график, но я не уверен
Код:
#include<conio.h>
#include <graphics.h>
#include <math.h>
#include <bios.h>
#include <math.h>
#include <iomanip.h>

void main()
{
	int b;
	int x0,y0;
	cin>>b;
	int x,y;
	double t;
	int gdriver = DETECT, gmode, errorcode;
	initgraph(&gdriver, &gmode, "c:\\TC\\BGI");
	x0=getmaxx()/2+1;
	y0=getmaxy()/2+1;
	double m=10.0,n = 10.0,temp;
	double kx = x0/m,ky=y0/n;
	setcolor(2);
	line(x0, 0, x0, getmaxy());
	line(0, y0, getmaxx(), y0);
	for(t=-100;t<=100;t+=0.0001){
		temp = (t*t-1)/(t*t+1);
		x=(int)(kx*temp);
		y=(int)(ky*t*temp);
		putpixel(x0+x, y0-y, 15);
	}
	setcolor(2);
	line(x0, 0, x0, getmaxy());
	line(0, y0, getmaxx(), y0);
	if(bioskey(0)==283) closegraph();
}

Последний раз редактировалось Namolem; 04.01.2010 в 13:33.
Namolem вне форума Ответить с цитированием
Старый 04.01.2010, 21:30   #5
Smile.id
Пользователь
 
Регистрация: 19.01.2009
Сообщений: 17
По умолчанию

Спасибо, все работает, осталось только разобраться, но это я уже сам.
Smile.id вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Графика в С++ K[Lanc]N Помощь студентам 2 29.07.2010 11:25
Графика и БД Elena_Saygina Компоненты Delphi 7 13.10.2009 06:26
Графика Машенька Паскаль, Turbo Pascal, PascalABC.NET 2 19.04.2009 17:38
Графика Dizman Помощь студентам 20 17.12.2007 17:03