procedure TForm5.TTimerEngineTimer(Sender: TObject);
begin
if checkbox9.Checked=false then
begin
ttimerengine.Enabled:=true;
ttimerengine.Interval:=1;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=clwhite;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end
else
begin
case trackbar3.Position of
0: begin
with image1.Canvas do
begin
for px:=0 to image1.Width do
begin
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
//Cambia le coordinate schermo in coordinate cartesiane
x:= strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=-strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
//Cambia le coordinate cartesiane in coordinate schermo
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
Image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.Canvas.Pen.Width:=10;
end;
end;
ttimerengine.Enabled:=false;
end;
1: begin
ttimerengine.Enabled:=true;
ttimerengine.Interval:=10;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end;
2: begin
ttimerengine.Interval:=20;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end;
3: begin
ttimerengine.Interval:=30;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end;
4: begin
ttimerengine.Interval:=60;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end;
5: begin
ttimerengine.Interval:=90;
x1:=pi*trackbar2.position;
x2:=-pi*trackbar2.position;
y1:=trackbar1.position;
y2:=-trackbar1.position;
x:=x1+strtofloat(edit3.Text)*px*((x2-x1)/image1.Width)+strtofloat(edit1.Text);
y:=strtofloat(edit4.Text)*sin(x)+strtofloat(edit2.text);
py:=trunc(image1.height-(y-y1)*image1.height/(y2-y1));
image1.Canvas.Pixels[px,py]:=colordialog1.Color;
image1.canvas.pen.Width:=10;
px:=px+1;
if px=image1.Width then
begin
x:=0;
px:=0;
ttimerengine.Enabled:=false;
end;
end;
end;
end;
end;