Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
M_2_2_2_razdatka-teor.doc
Скачиваний:
135
Добавлен:
20.03.2016
Размер:
21.64 Mб
Скачать

Кривая Безье (элементарная)

Теорию кривых Безье разработал П. де Кастело в 1959 году и, независимо от него, П. Безье в 1962 году. В общем случае кривая Безье — это частный случай В-СПЛАЙНОВ (NURBS-кривых), которые можно определить как взвешенная сумма п+ 1 контрольных точек, где весовыми коэффициентами являются полиномы Бернштейна.

Рассмотрим определения первых трех степеней кривой Безье.

Линейная кривая, кривая первой степени (прямая), определяется следующей параметрической формулой:

B(t) = (1 - t)P0+t P1 где 0 < t < 1.

Это выражение представляет собой линейную интерполяцию между двумя точками.

Квадратичная кривая, кривая второй степени, определяется формулой:

B(t) = (1 - t)2P0 + 2(1 - t)tP1 + t2P2 где 0 < t < 1.

Квадратичные кривые Безье используются, например, в шрифтах TrueType при определении контуров символов.

В графике используется кубическая кривая, кривая третьей степени, которая определяется формулой:

B(t) = (1 - t)3Р0 + 3(1 - t)2tP1 + 3(1 - t)t2P2 + t3Р3 где 0 < t < 1.

Четыре опорные точки P0, P1, P2 и P3, заданные в 2-х или 3-мерном пространстве определяют форму кривой.

Линия берёт начало из точки P0 направляясь к P1 и заканчивается в точке P3 подходя к ней со стороны P2. То есть кривая не проходит через точки P1 и P2, они используются для указания её направления. Длина отрезка между P0 и P1 определяет, как скоро кривая повернёт к P3.

В декартовых координатах это означает:

X(t) = (1 - t)3X0 + 3(1 - t)2tX1 + 3(1 - t)t2X2 + t3X3

Y(t) = (1 - t)3Y0 + 3(1 - t)2tY1 + 3(1 - t)t2Y2 + t3Y3.

Для прямого построения кривой задаемся конкретным значением параметра t в диапазоне от 0 до 1 и подставляем в формулы. Получаем координаты x и y одной точки на кривой. Затем задаемся следующим значением параметра t и получаем координаты x и y следующей точки на кривой. И так далее.

В матричной форме кубическая кривая Безье записывается следующим образом:

,

где называется базисной матрицей Безье:

.

В современных графических системах, таких как PostScript, Metafont и GIMP для представления криволинейных форм используются сплайны Безье, составленные из кубических кривых.

Построение кривых Безье

Линейные кривые

Параметр t в функции, описывающей линейный случай кривой Безье, определяет где именно на расстоянии от P0 до P1 находится B(t). Например, при t = 0,25 значение функции B(t) соответствует четверти расстояния между точками P0 и P1. Параметр t изменяется от 0 до 1, а B(t) описывает отрезок прямой между точками P0 и P1.

Построение отрезка

Квадратичные кривые

Для построения квадратичных кривых Безье требуется выделение двух промежуточных точек Q0 и Q1 из условия чтобы параметр t изменялся от 0 до 1:

Точка Q0 изменяется от P0 до P1 и описывает линейную кривую Безье. Q0 = (1 - t)P0+t P1

Точка Q1 изменяется от P1 до P2 и также описывает линейную кривую Безье. Q1 = (1 - t)P1+t P2

Точка B изменяется от Q0 до Q1 и описывает квадратичную кривую Безье. B(t) = (1 - t)Q0+t Q1

Построение квадратичной кривой Безье

Кубические кривые

Для кубической кривой строятся промежуточные точки Q0, Q1 и Q2, описывающие линейные кривые, а также точки R0 и R1, которые описывают квадратичные кривые: более простое уравнение p0q0/p0q1=q1p1/p1p2=bq0/q1q0

Построение кубической кривой Безье

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]