Параметрические кривые и их растеризация
4.2. Аппроксимация
Кривые Безье
В настоящее время для задач аппроксимации широко применяются кривые Безье (B'ezier) [14]. Это связано с их удобством как для аналитического описания, так и для наглядного геометрического построения (применительно к компьютерной графике это означает, что пользователь может задавать форму кривой интерактивно, т.е. двигая опорные точки курсором на экране).
Наглядный метод построения этих кривых был предложен де Кастелье (de Casteljau) в 1959 году [26]. Метод де Кастелье основан на разбиении отрезков, соединяющих исходные точки в отношении t (значение параметра), а затем в рекурсивном повторении этого процесса для полученных отрезков:
![]() |
( 4.1) |
Нижний индекс - номер точки, верхний индекс - уровень разбиения. Уравнение кривой n -ого порядка задается .
Для примера построим кривую c 3 опорными точками (иногда они также называются контрольными ) (см. рис. 4.2).
Обозначим опорные точки как , начало кривой положим в точке
, а конец - в точке
; для каждого
найдем точку
:
![P_0^1(t) = (1 - t)P_0 + tP_1, \\
P_1^1(t) = (1 - t)P_1 + tP_2, \\
P_0^2(t) = (1 - t)P_0^1(t) + tP_1^1(t) = \\
= {(1 - t)}^2P_0(t) + 2t(1 - t)P_1(t) + t^2P_2(t),](/sites/default/files/tex_cache/4ae7a201f69c9ff150e3b210d46dd562.png)
таким образом, получим кривую второго порядка.
Теперь построим аналогичным методом кривую Безье с четырьмя опорными точками:
![P_0^1 (t) = (1 - t)P_0 + tP_1, \\
P_1^1(t) = (1 - t)P_1 + tP_2, \\
P_2^1(t) = (1 - t)P_2 + tP_3,](/sites/default/files/tex_cache/4404662763635a41b2723cc147a2f8ea.png)
![P_0^2(t) = (1 - t)P_0^1(t) + tP_1^1(t) = \\
= {(1 - t)}^2P_0 + 2t(1 - t)P_1 + t^2P_2, \\
P_1^2(t) = (1 - t)P_1^1(t) + tP_2^1(t) = \\
= {(1 - t)}^2P_1 + 2t(1 - t)P_2 + t^2P_3, \\
P_0^3(t) = (1 - t)P_0^2(t) + tP_1^2(t) = \\
= {(1 - t)}^2P_0^1(t) + 2t(1 - t)P_1^1 (t) + t^2P_2^1(t) = \\
={(1 - t)}^3P_0 + 3t{(1 - t)}^2P_1 + 3t^2(1 - t)P_2 + t^3P_3.](/sites/default/files/tex_cache/da7402f7ab3776e8337296bf6091ef6a.png)
Запишем общее аналитическое представление для кривой Безье с N + 1 опорной точкой:
![]() |
( 4.2) |
![B_i ^N(t) = C_i ^N \cdot t^i(1- t)^{N-i}, \mbox{ где}](/sites/default/files/tex_cache/a3c575a6f3d2a18c36e10dfec1de4c10.png)
![C_i ^N =\frac{N!}{i!(N - i)!} \mbox{ - биномиальные коэффициенты.}](/sites/default/files/tex_cache/b9dcff04d27c6a0d005e6c1b106ac24b.png)
называются базисными многочленами Бернштейна N - й степени (а также весовыми функциями Безье-Бернштейна). На рис. 4.4 и 4.5 изображены многочлены Бернштейна 3-й и 4-й степеней.
Свойства кривых Безье
- Инвариантность относительно аффинных преобразований.
- Инвариантность относительно линейных замен параметризации
- Кривая Безье принадлежит выпуклой оболочке опорных точек (следует из геометрического способа построения).
Следствие. Если все опорные точки лежат на одной прямой, то кривая Безье вырождается в отрезок, соединяющий эти точки.
- Кривая Безье проходит через P0 и PN.
- Симметричность: если рассматривать контрольные точки в противоположном порядке, то кривая не изменится.
- Степень многочлена, представляющего кривую в аналитическом виде, на 1 меньше числа опорных точек.
- Касательные в точках P0 и PN коллинеарны
и
, соответственно.
Замечание. Хотя все выкладки проводились в , аналогичные построения и свойства справедливы и в
.