Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вопрос по 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


Наверх

Титульная страница Поиск, карта сайта Написать письмо