Вниз
Скачать: CL | DM;

Вопрос по PaintBox y   Найти похожие ветки 

 
ec   (2002-04-16 16:51) [0]

Как сделать чтобы точка из центра летела по спирали ?


 
MBo ©   (2002-04-16 16:56) [1]

спиралей много разных.
скажем, перемещаешь по закону fi=at r=at


 
ec   (2002-04-16 19:21) [2]

Радиус потихоньку увеличивается, а точка по кругу движется.

Я просто понятия не имею как ето даже примерно сделать. По геометрии фигово


 
MBo ©   (2002-04-16 20:30) [3]

x:=x0+a*t*cos(b*t)
y:=y0+a*t*sin(b*t)
x0-центр
a- масштаб
b -угловая скорость
t- время


 
ec   (2002-04-19 14:50) [4]

Тут кое что получилось, а как сделать только точка летала, а не вся спираль рисовалась


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-19 15:32) [5]

запоминай координаты, сначала стирай на старом месте ( в твоем способе рисуй точку цветом подложки), потом рисуй на новом
MoveTo ни к чему



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.012 c
1-85102
einsam
2002-08-15 00:56
2002.08.26
процедурные типы


1-85077
Администратор
2002-08-14 15:12
2002.08.26
!!! ФАЙлы !!!


7-85266
Alex-A
2002-06-14 10:30
2002.08.26
Как узнать размер папки?


1-85106
^Sanya
2002-08-13 13:24
2002.08.26
Определение типа носителя.


14-85168
quark
2002-07-28 21:42
2002.08.26
Adept Union Все для программиста (более 60 мб инфы)




   Наверх