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

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

Как нарисовать пружину?))


vasIZmax ©   (2007-05-29 03:18:00) 

Никак не могу сообразить. Стандартными средствами:  ну эллипс - ellipse, n-угольник(точнее "замкнутая") - poligon, а вот пружину (спираль) - ну, не могу придумать(((.
Примитив какой-то скорее всего, аж стыдно спрашивать, но любопытство не дает покоя))).
Хоть намекните))


vasIZmax   (2007-05-29 03:37:00) [1]


> {RASkov} ©   (29.05.07 03:25) [1]

Вот так и думал)))... Чего-то должно быть простое.
Правда извратиться хотел реализовывая через polyline, в цикле. Но сначала думаю спрошу, не охота велосипед изобретать.

СПС.:-)


{RASkov}   (2007-05-29 03:25:00) [2]

procedure Spiral(Cnv: TCanvas; const X, Y: Integer);
var Theta: Single;
begin
 Theta := 0;
 Cnv.MoveTo(X, Y);
 while Theta < 15 * 3.1415926535 do
 begin
   Cnv.LineTo(Round(X + Cos(Theta) * Theta), Round(Y + Sin(Theta) * Theta));
   Theta := Theta + 0.2;
 end;
end;

Вызов
Spiral(Canvas, 100, 100);
Выдернул из Graphics32 и подправил чуть-чуть:)


Наверх

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