Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по КГ.pdf
Скачиваний:
81
Добавлен:
11.05.2015
Размер:
2.2 Mб
Скачать

Рассмотрим похожий пример, но только для плоскости: пусть нам нужно получить функцию расчёта координат (X, Y) для поворота вокруг центра с координатами ( x0 , y0 ):

éX ù

 

éсдвиг объектныхù

 

éповоротù

éсдвиг объектныхùéx

ù

 

ê

ú

=

ê

 

 

 

ú

×

ê

на угол

ú

ê

 

 

 

 

úê

ú

=

êY

ú

êкоординат на

ú

ê

ú ×

êкоординат на

úêy

ú

ê

ú

 

ê

,-y0

 

 

ú

 

ê

 

a

 

ú

ê

, y0

 

 

 

úê

ú

 

ë 1

û

 

ë- x0

 

 

û

 

ë

 

 

û

ëx0

 

 

 

ûë1

û

(54)

é1

 

0

x0 ù

écosa

- sina

 

0ù

 

é1

0

- x0 ù

 

éxù

 

 

 

 

 

 

 

 

 

ê

 

1

ú

ê

 

cosa

 

ú

×

ê

1

-

ú

×

ê

ú

 

 

 

ê0

 

y0 ú

× êsin a

 

0ú

ê0

y0 ú

êy

ú

 

 

 

ê

 

 

ú

ê

0

 

0

 

 

ú

 

ê

 

 

ú

 

ê

ú

 

 

 

ë0 0 1 û

ë

 

 

 

1û

 

ë0 0

 

1 û

 

ë1

û

 

 

 

Наиболее употребительными в компьютерной графике являютсядекартовы17 системы координат, как способ удобного создания абстракций реальных предметов окружающего мира. Цилиндрические, сферические, проективные и различные другие координаты в пространстве обычно используются для моделирования специальных эффектов при деформации объектов.

При отображении пространственных объектов используют понятиемировых координат – трёхмерных декартовых координатах пространства, в котором размещаются объекты. Каждый из объектов обычно имеет собственнуюобъ-

ектную систему координат. И, наконец, экранная система координат связана с тем графическим устройством, где в заданной проекции на картинной плоскости (в общем случае– картинной поверхности) отображается создаваемая трёхмерная сцена. Так как практически все устройства графического вывода являются плоскостными, то две из трёх экранных координат (X и Y) располагаются в плоскости экрана соответственно по горизонтали и вертикали, а координата Z направлена перпендикулярно им (если «вглубь» экрана, то получившаяся система координат левосторонняя).

6.5.2. Параметрическое задание кривых на плоскости и в пространстве. Кривые Безье

Параметрически заданной кривой называется множество точек M (x, y, z),

координаты которых определяются соотношениями

x = x(t) , y = y(t) , z = z(t) , 0 £ t £ 1.

(55)

17

Декартова система координат – прямолинейная система координат в евклидовом пространстве

126

В векторной форме rr = rr(t)

Кривая называется регулярной, если rr¢(t) ¹ 0 в каждой её точке18; т.е. в

каждой точке кривой существует касательная, положение которой меняется непрерывно вдоль кривой. Геометрическим образом функции трех переменных F(x, y, z) служит поверхность. Чтобы определить положение точки на ней, нужны уже два параметра U и V (например, широта и долгота на поверхности шара).

Кривая Безье (Bezier curve).

Алгоритм независимо получен Пьером Безье и Полем Кастельё в конце 60-х годов для технического проектирования. Применяется в интерактивных системах компьютерной графики для приближенного решения задач напо строение кривых по точкам.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 57 – Построение кривой

 

 

 

 

 

 

 

 

Пусть

на

плоскости или

в пространстве

задан наборточек-ориентиров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Кривой Безье, определяемой этим набором точек, называется кри-

V0 ,V1 ,...,Vn .

вая, определяемая уравнением

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

(t) = åCni t i (1 - t)n-1Vi

, 0 £ t £1,

 

(56)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i=0

 

 

 

 

 

 

 

 

где Cni =

 

 

 

n!

 

– число сочетаний из n

элементов по i (биномиальный коэф-

i!(n - i)!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

фициент).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

)

 

 

 

 

Элементарная кубическая

кривая

 

Безье

для четырёх

точек-ориентиров

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

V = (V0 ,V1 ,V2 ,V3 ) задаётся параметрическим уравнением:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

r

(t) = (1 - t)3 ×V

+ 3t ×

(1 - t)2 ×V

 

+ 3t 2 ×

 

 

 

+ t 3 ×V

, 0 £ t £1 (57)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(1 - t) ×V

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

1

 

 

2

3

18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Скорость движения параметра t вдоль кривой

 

 

 

 

 

 

 

 

 

127

или в матричной записи19:

æ x

 

x

x

 

x

 

ö

) ç

0

1

 

2

 

3

÷

где V = ç y0

y1

y2

y3

÷,

ç z

0

z

z

2

z

3

÷

è

1

 

 

ø

 

 

 

 

r

 

 

)

 

 

 

 

 

 

 

 

 

 

 

 

 

(t) =V

MT ,

 

 

 

 

 

 

(58)

 

æ

1

- 3 3

-1ö

 

 

 

æ 1

ö

 

ç

 

 

 

 

 

 

 

 

÷

 

 

 

ç

 

÷

)

ç0

3

- 6 3 ÷

 

 

 

ç t

÷

 

 

 

M =

ç

0

0

3

- 3

÷,

T =

çt 2 ÷

 

ç

 

 

 

 

 

 

 

 

÷

 

 

 

ç

3

÷

 

ç

0

0

0

1

÷

 

 

 

ç

÷

 

è

ø

 

 

 

èt

 

ø

M носит название базисной матрицы кубической кривой Безье. Свойства кривой Безье:

Является гладкой;

Начинается точно в точке V0 и заканчивается в Vn , касаясь при этом от-

резков V0V1 и Vn-1Vn .

Целиком лежит в выпуклой оболочке, порождаемой массивом точекориентиров (рисунок 58 даёт представление, как создаётся элементарная кривая Безье в программе Adobe Illustrator между двумя точками и двумя их подвижными направляющими – handles);

Рисунок 58 – Построение элементарной кривой Безье

Степень функциональных коэффициентов напрямую связана с количеством точек в наборе; при добавлении хотя бы одной новой точки надо пересчитать все коэффициенты; при этом изменение координат одной точки приводит к заметному изменению вида кривой;

Многочлен Безье можно представить как некоторую намагниченную эла-

стичную ленту, закреплённую в точках V0 и Vn . Точки-ориентиры представля-

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

В практических вычислениях часто оказывается удобным пользоваться кривыми, составленными из элементарных кривых Безье. Определим составную кубическую кривую Безье как объединение элементарных кубических

19

Здесь и далее используются обычные трёхмерные декартовы координаты

128