Растягивающаяся и сжимающаяся пружина(затухаюшее колебание)
Где ошибка???
Графика
Code
program JIP7;
uses Crt, Graph;
const
A = 15;
F = 500;
T = 1/F;
M = 8;
Xmax = M*T;
Ymax = 2;
cx = 10;
cy = 240;
sx = (640-cx) / Xmax;
sy = (480-cy) / Ymax;
function CoordX(X: integer): Integer;
var
RezX:LongInt;
begin
RezX:=Trunc(X*sx)+cx;
if RezX > $FFFF then
RezX := Integer(RezX);
if RezX < cx then
RezX := cx
else if RezX > 640 then
RezX := 640;
CoordX := RezX
end;
function CoordY(Y: integer): Integer;
var
RezY: LongInt;
begin
RezY := cy - Trunc(Y * sy);
if RezY > $FFFF then
RezY := Integer(RezY);
if RezY < 0 then
RezY := 0
else if RezY > 480 then
RezY := 480;
CoordY := RezY
end;
var
gd,gm:integer;
X,Y, step: integer;
begin
gd:=detect;
gm:=2 ;
Initgraph(gd,gm,'');
SetColor(13);
MoveTo(cx, cy);
step:=round(Xmax/(640-cx));
X := step;
while X <= Xmax do
begin
Y := round(A*Sin(2*Pi*F*X));
LineTo(CoordX(X), CoordY(Y));
X := X + step
end;
SetColor(15);
Line(cx,cy, 640,cy);
Line(cx,0, cx,480);
repeat until KeyPressed;
Closegraph
end.
Помогите пожалуйста