![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по PaintBox y [D1, D2, D3, D4, D5, D6, Win95/98, WinME, NT4, Win2k]
ec © (2002-04-16 16:51:00)Как сделать чтобы точка из центра летела по спирали ?
MBo (2002-04-19 15:32:00) [1]запоминай координаты, сначала стирай на старом месте ( в твоем способе рисуй точку цветом подложки), потом рисуй на новом
MoveTo ни к чему
ec (2002-04-19 14:50:00) [2]Тут кое что получилось, а как сделать только точка летала, а не вся спираль рисовалась
procedure TForm1.Drawline(xc,yc,r,angle:integer);
var
phi:extended;
begin
phi:=angle/180*Pi;
x1:=xc+Round(r*cos(phi));
x2:=xc-Round(r*cos(phi));
y1:=yc-Round(r*sin(phi));
y2:=yc+Round(r*sin(phi));
PaintBox1.Canvas.MoveTo(x1 div 2,y1 div 2);
PaintBox1.Canvas.pixels[x2 div 2,y2 div 2]:=clRed;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
PaintBox1.Canvas.Pen.Color:=clLime;
DrawLine(xc,yc,r,angle);
angle:=angle+1;
r:=r-1;
if r=0 then r:=PaintBox1.Width ;
DrawLine(xc,yc,r,angle);
end;
MBo (2002-04-16 20:30:00) [3]x:=x0+a*t*cos(b*t)
y:=y0+a*t*sin(b*t)
x0-центр
a- масштаб
b -угловая скорость
t- время
ec (2002-04-16 19:21:00) [4]Радиус потихоньку увеличивается, а точка по кругу движется.
Я просто понятия не имею как ето даже примерно сделать. По геометрии фигово
MBo (2002-04-16 16:56:00) [5]спиралей много разных.
скажем, перемещаешь по закону fi=at r=at