Страница 1 из 1

построение графика

Добавлено: 28 мар 2010, 21:12
fiascko
Даны изменения координат за некоторый промежуток времени, т.е. даны , к примеру, значения широты (shirota) в формате 5553,4235 (55 градусов 53,4235 минут) на каждую секунду времени (vrema) с 072345 (7 часов 23 минуты 45 секунд) по 073624 (7 часов 36 минут 24 секунд). Необходимо построить график. Недоумеваю, как это сделать. Как будет выглядеть код? Если строить непосредственно график по данным, то получится не очень хорошо (ведь в минуте не 100, а 60 секунд, поэтому на графике будут прямые линии с 59 секунд по 99 секунду)

Re: построение графика

Добавлено: 29 мар 2010, 10:05
Хыиуду
Сделайте функцию перевода этих странных данных в нормальные дробные числа, и стройте уже по ним.

Re: построение графика

Добавлено: 02 апр 2010, 22:39
dr.Jekill
Вот Вам построение графика в Паскале. Вам необходимо написать свою функцию Func.
[syntax="pascal"]
uses crt,graph;
var xBeg,xEnd:real;
gd,gm:integer;

function Func(arg:real):real;
begin
Func:=arg; //здесь нужно описать Вашу зависимость
end;

procedure DrawGraph(a,b:real);
var x,dx,max,min,koef,h,g:real;
k,x0,y0:integer;
begin
h:=a;
g:=b;
ClearViewPort;
dx:=(b-a)/639;
x:=a;
max:=Func(a);
min:=Func(a);
for k:=1 to 640 do
begin
if Func(x)>max then max:=Func(x);
if Func(x)<min then min:=Func(x);
x:=x+dx;
end;
koef:=479/(max-min);
x:=a;
MoveTo(0,round(479-koef*(Func(a)-min)));
for k:=1 to 639 do
begin
x:=x+dx;
SetBkColor(Black);
SetColor(Green);
LineTo(k,round(479-koef*Func(x)-min));
end;
x0:=round(639*a/(a-b));
Line(x0,0,x0,479);
y0:=round(479-479*(min/(min-max)));
Line(0,y0,639,y0);
PutPixel(x0,y0,Red);
SetColor(White);
OutTextXY(x0+3,y0+4,'0');
OutTextXY(x0-10,6,'y');
OutTextXY(615,y0+3,'x');
end;

begin
ClrScr;
write('Zadaite nizhnuiu granicu intervala: ');
readln(xBeg);
write('Zadaite verhnuiu granicu intervala: ');
readln(xEnd);
gd:=detect;
initgraph(gd,gm,'');
if graphresult<>grok then
begin
writeln('Error in graphic mode!');
write('Press any key to EXIT...');
readkey;
Exit;
end
else
begin
DrawGraph(xBeg,xEnd);
readkey;
end;
end.
[/syntax]