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

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


4-6 ПАРАМЕТРИЧЕСКОЕ ПРЕДСТАВЛЕНИЕ ЭЛЛИПСА

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

Другой метод основан на равных приращениях по периметру и дает хороший результат для достаточно большого количества точек. Недостатки его в том, что указывается слишком много точек на сторонах с малой кривизной, и вычисление равных частей периметра требует сложного расчета эллиптического интеграла. Что нам необходимо, это малые приращения параметра у концов, где кривизна велика, и большие приращения параметра вдоль сторон с малой кривизной.

Такое распределение точек получается из параметрического представления эллипса с центром в начале координат, большой полуосью  и малой полуосью :

,

,                 (4-6)

где  - параметр.

225.jpg

Рис. 4-6 Равноугольное представление сильно вытянутого эллипса.

Диапазон от 0 до  задает полный эллипс. Требуемое распределение точек порождается равномерными приращениями параметра .

Рассматривая производные  и :

,

,                       (4-7)

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

Если задано фиксированное количество точек на эллипсе, можно, пользуясь формулами суммы углов, получить эффективный алгоритм [4-2]. Координаты любой точки на эллипсе:

,

,

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

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

,

.

Применяя уравнение (4-4) с , перепишем эти уравнения:

,

.        (4-8)

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

Чтобы получить эллипс с центром не в начале координат и с главной осью, расположенной под углом к горизонтали, его поворачивают вокруг начала координат, а затем переносят.

Пример 4-4 Параметрическое построение эллипса

Построить эллипс с большой полуосью  и малой полуосью , под углом  к горизонтали, с центром в точке .

Сначала построим эллипс с центром в начале координат с помощью 32 точек (, так как первая и последняя точки совпадают). Мы рассмотрим только точки первого квадранта, т.е. диапазон параметра от 0 до .

227.jpg

Рис. 4-7 Параметрическое представление эллипса.

Приращение параметра

.

Пользуясь уравнением (4-6) с начальным значением , найдем  и :

,

.

Вычислим величины ,  и

,

.

Теперь по формуле (4-8) найдем вторую точку

,

.

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

Нам требуется комбинированное двумерное преобразование (гл. 2) поворота на  вокруг центра координат и переноса центра в точку .

Характерно, что

.

Таблица 4-3 Точки эллипса с центром в начале координат для первого квадранта

1

4.0

0

2

3.923

0.195

3

3.696

0.383

4

3.326

0.556

5

2.828

0.707

6

2.222

0.831

7

1.531

0.924

8

0.780

0.981

9

0

1.0

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

.

Результаты приведены в табл. 4-4 и на рис. 4-8.

Таблица 4-4 Повернутый и перенесенный эллипс

1

5.464

4.0

2

5.3

4.131

3

5.009

4.179

4

4.603

4.144

5

4.096

4.027

6

3.509

3.831

7

3.864

3.565

8

2.185

3.240

9

1.5

2.866

 

 



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