-
Notifications
You must be signed in to change notification settings - Fork 0
03. Построение плоских кривых. Выбор шага изменения аргумента. Алгоритм построения эллипса и окружности по методу средней точки.
- Уравнения окружности:
(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. Т.к. в этой точке та переменная, которая имела большее приращение, начинает расти меньше, а другая получает большее приращение. Это необходимо из-за того, что в алгоритме средней точки одно приращение всегда больше другого. Расчеты такие же, как и в алгоритме средней точки построения окружности, только используется другое уравнение.