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

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

Алгоритм создания части окружности [D7, WinXP]


Alex_C ©   (2005-04-29 15:53:00) 

Дано: окружность в точке Point и радиусом R
известно, что точки Point1 и Point2 лежат на окружности. Нужно создать массив Points : array of TPoint содержащих точки, лежащие на окружности между Point1 и Point2. (Именно не нарисовать, а массив точек создать). Подскажите алгоритм?


TUser   (2005-04-29 16:23:00) [1]

1. [2]
2. Аппроксимировать это дело кривой Безье, или еще чем-нибудь - тогда можно добиться не шагом в один градус, а получить массив всех точек, которые надо было бы нарисовать, чтобы получилась сплошная линия. Если градусов между Р1 и Р2 много - то надо много кривых Безье.

ЗЫ. А что такое 'окружность в точке Poiont'?


Alex_C   (2005-04-29 16:13:00) [2]

То DVM спасибо! Чего то я сам стормозил!
То begin..end - почему бесконечно большой? Делаем шаг 1 градус - и не так уж и много!


begin...end   (2005-04-29 16:01:00) [3]

> Alex_C ©   (29.04.05 15:53)

> Нужно создать массив Points : array of TPoint
> содержащих точки, лежащие на окружности между Point1 и
> Point2.

Получится массив бесконечно большого размера.


DVM   (2005-04-29 15:56:00) [4]


> Подскажите алгоритм?

X=R*COS(F)
Y=R*SIN(F)
дальше надо?


Наверх

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