Skip to content

03. Построение плоских кривых. Выбор шага изменения аргумента. Алгоритм построения эллипса и окружности по методу средней точки.

Alice edited this page Jun 15, 2020 · 8 revisions

Отчет

gl3.3.DOC

Еще тут есть

Построение плоских кривых.

  • Уравнения окружности:

(X-Xo)^2 + (Y-Yo)^2 = R^2 - Каноническое.

X=Xo+Rcost, Y=Yo+Rsint - Параметрическое.

Где Xo,Yo - координаты центра, R - радиус окружности, t - параметр (0<=t<=2)

  • Уравнения эллипса:

(X-Xo)^2/a^2 + (Y-Yo)^2/b^2 = 1 - Каноническое.

X=Xo+a cost, Y=Yo+b sint - Параметрическое.

a, b - полуоси.

Выбор шага изменения аргумента.

Можно построить и окружность, и эллипс используя эти уравнения. При этом, шаг изменения аргумента t = 1 / R.

По Курову: Шаг изменения параметра при изменении кривой должен выбираться 1/R, при R->бесконечности (Угол в рад.)

При генерации окружности достаточно построить 1/8 окружность (от (0, R) по часовой стрелке) и отразить получившеюся дугу.

При генерации эллипса так не получится, придется строить 1/4 окружности.

Алгоритм построения окружности по методу средней точки.

  • Название связано с тем, что на каждом шаге работы алгоритм выбирает ближайший к эллипсу пиксел из двух возможных, анализируя, находится ли средняя точка между этими пикселами внутри или вне эллипса.
  • Приведенное уравнение эллипса можно использовать в качестве пробной функции (примечание: пробная функция - функция вида f(x,y), равная 0

Т.к. нам приходится строить ¼ часть эллипса нам нужно найти точку, в которой наклон касательной к эллипсу становится меньше 45. Т.к. в этой точке та переменная, которая имела большее приращение, начинает расти меньше, а другая получает большее приращение. Это необходимо из-за того, что в алгоритме средней точки одно приращение всегда больше другого. Расчеты такие же, как и в алгоритме средней точки построения окружности, только используется другое уравнение.

Clone this wiki locally