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

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

Спираль


Nat21 ©   (2002-06-05 22:33:00) 

Привет всем! Как нарисовать спираль, которая рисуется с определенной скоростью и из центра экрана.


MBo   (2002-06-06 13:36:00) [1]

спирали бывают разные. вот одна

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if i=0 then
canvas.moveto(x0,y0)
else if (i<(clientheight)) then begin
case i mod 30 of
0..9:canvas.pen.color:=clRed;
10..19:canvas.pen.color:=clGreen;
20..29:canvas.pen.color:=clBlue;
end;
Canvas.LineTo(trunc(x0+i*cos(i/10)/2),trunc(y0+i*sin(i/10)/2));
end;
inc(i);
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
x0:=clientwidth div 2;
y0:=clientheight div 2;
end;


Anatoly Podgoretsky   (2002-06-06 00:47:00) [2]

Насчет скорости неясно, угловая или линейная


SPeller   (2002-06-06 00:45:00) [3]

А зачем массив точек? Можно без них. Рисовать можно в TBitmap или hDC, а затем их содержимое переносить на экра при перерисовке. Организовать спираль достаточно просто - делаем вращение через sin, cos и при этом постепенно увеличиваем радиус.


agrig   (2002-06-05 23:46:00) [4]

если на форме - то таймер и уравнение. динамический массив точек, которые соединяются прямыми по сигналу таймера.
если на десктопе - идея таже, но для рисования используй winApi


Наверх

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