Читать в оригинале

<< ПредыдущаяОглавлениеСледующая >>


4-5 ПАРАМЕТРИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ОКРУЖНОСТИ

Параметрическое представление окружности радиуса  с центром в начале координат:

, ,

,                             (4-4)

где  - параметр. Ранее мы отмечали, что равномерное приращение дает отличное изображение, но алгоритм неэффективен из-за частого вызова тригонометрических функций. В работе [4-2] приводится более быстрый алгоритм.

Полной окружности соответствует диапазон изменения параметра  от 0 до . Если рассматривать некоторое фиксированное число равномерно распределенных точек по окружности, то приращение параметра между точками можно считать константой. Координаты любой точки на окружности с центром в начале координат

,

,

где  - значение параметра для точки , .

По формуле суммы углов

,

.

Вспомним уравнение (4-4) для

,

и получим рекурсивные уравнения

,

,               (4-5)

что соответствует повороту точки ,  на .

Так как  постоянно и равно , где  - количество равномерно распределенных по окружности точек, значения  и  нужно вычислить только один раз. Во внутреннем цикле используются только четыре умножения, вычитание и сложение, поэтому алгоритм работает очень быстро. Результат на рис. 4-5 соответствует расчетам по формуле (4-4).

Окружность с центром в произвольной точке получается переносом окружности соответствующего радиуса с центром в начале координат. В некоторых случаях можно упростить задачу: сначала строить единичную окружность с центром в начале координат, а затем, комбинируя перенос и масштабирование, получить окружности с любым радиусом и центром.

223.jpg

Рис. 4-5 Единичная параметрическая окружность с .

Пример 4-3 Генерация параметрической окружности

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

Окружность - это замкнутая кривая, поэтому первая  и последняя  точки совпадают. Следовательно, чтобы получить  различных точек на окружности, нужно вычислить  точку. Для незамкнутых кривых это необязательно.

Найдем :

.

Исходные значения  и  из уравнения (4-4) при  таковы:

,

.

Теперь по формуле (4-5) получим остальные семь точек. Для первой

,

.

Таблица 4-1 Результаты для единичной окружности

1

2

3

4

5

6

7

8

9

и

,

.

Результаты для остальных точек собраны в таблице 4-1.

Вспоминая двумерные преобразования из гл. 2, определим  преобразование, которое масштабирует полученные результаты с коэффициентом 2 и переносит центр окружности в точку :

.

Применяя это преобразование к точке , получаем

,

как и ожидалось. Полный результат приведен в таблице 4-2 и на рис. 4-5.

Таблица 4-2 Результаты для окружности радиуса 2 с центром в

1

4

2

2

3,414

3,414

3

2

4

4

0,586

3,414

5

0

2

6

0,586

0,586

7

2

0

8

3,414

0,586

9

4

2

Ограничивая диапазон параметра , можно получить дуги окружности. Например,  соответствует четверти круга в первом квадранте, а  - четверти круга в третьем квадранте.

 



<< ПредыдущаяОглавлениеСледующая >>