Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory / КГ вопросы &ответы все.doc
Скачиваний:
48
Добавлен:
11.06.2015
Размер:
4.6 Mб
Скачать

33. Формы задания: явная, указатели в список вершин, явное задание ребер

1) Явное задание многоугольников

Р= список координат вершин

Р=((x1,y1,z1),…,(xn, yn,zn))

А) вершина А дублируется

Б) задача поиска многоугольников имеющих общую вершину. Для этого необходимо N*log (z*N) операций.

В) При прорисовке многоугольников некоторые рёбра рисуются по несколько раз

2) Задание многоугольников при помощи указателей в список вершин

V=((x1,y1,z1), … , (xn,yn,zn)) список вершин

Вершины при прорисовке не дублируются

Р1=(1,2,4)

Р2=(4,2,3)

Память экономится на общих вершинах, от изменения координат вершин полигональная сетка не искажается.

По-прежнему трудно отыскивать общие рёбра и их двойные пририсовки

3) Явное задание рёбер

Имеется список вершин V

Но многоугольник не как указатель списка вершин, а как указатель на список рёбер

V=((x1,y1,z1), … , (xn,yn,zn)) список вершин

V=(V1,V2,V3,V4)

//список ребер

E1=(V1,V2,P1, R)

Е2=(V2,V3,P2,R)

E3=(V3,V4,P2,R)

E4=(V4,V1,P1,R)

E5=(V4,V2,P1,P2)

P1=(E1,E4,E5)

P2=(E2,E3,E5)

Все рёбра прорисованы по разу, можно отобразить структуру.

Недостаток – требует много памяти

34. Параметрические кубические кривые.(км)

2 вида представления кривых

1) x,y,z явное задание

2) t при помощи параметра

x=x

y=f(x)

z=g(x)

tg угла наклона может оказаться равным бесконечности

невозможно определить задаёт ли кривая петлю между 2-мя заданными точками

вместо tg в параметрическом задании используется векторы, которые не бывают бесконечными.

Опр. Параметрической кубической кривой является кривая, в которой x y z многочлены

Т.к. мы рассматриваем конечные отрезки кривой можно ограничить t в конечном диапазоне 0<=t<=1

x(t)=ax * t^3 + bx * t^2 + cx * t + dx

y(t)=ay… dy 0<=t<=1

z(t)=az… dz (2)

полное представление парам. куб кривых

dx/dt =3 * axt^2 + 2bx * t + cx (3)

задаём касательный вектор

dy/dx= (dy/dt)/(dx/dt)

dx/dz=(dx/dt)/(dz/dt) (4)

углы наклона не зависят от длинны кас вектора

если функция, задающая кривую и ее первая производная непрерывна, то 2 кривые плавно сочленяются в точках

35. Форма Эрмита

x(t)=T*Cx=T*Mh*Ghx аналогично:

y(t)=T*Cy=T*Mh*Ghy

z(t)=T*Cz=T*Mh*Ghz

В общем виде: P(t)=T*Mh*Gh – эрмитово представление трехмерной кубической кривой.

T*Mh=((2t3-3t2+1)(-2t2+3t2)(t3-2t2+1)(t3-t2))

X(t)= T*Mh*Ghx=P1x(2t3-3t2+1)+P2x(-2t2+3t2)+P3x(t3-2t2+1)+P4x(t3-t2)

Четыре функции переменной t в произведении T*Mh часто называют функциями сопряжения т.к. с помощью первых двух функций сопрягаются точки Р1 и Р4, а посредством других – векторы R1 и R4 в результате чего получается сглаженное объединение x(t)

36. Форма Безье. Форма В-сплайнов.

Координаты векторов определяются через точки

R1 = 3(P2 - P1 ) = P’(0)

R4 = 3(P4 - P3 ) = P’(1)

Матрица связи форм Эрмита и Безье-

X(t)= T*Mh*Ghx = T*Mh* Mhb*Gbx = T*Mb*Gbx

Форма Безье используется в машинной графике чаще, чем Эрмитова форма – геометрические матрицы интуитивно привлекательней в интерактивном режиме т.к. перемещая точки можно привести кривую в любую желаемую кривую. Четыре управляющие точки определяют многоугольник – выпуклую оболочку, внутри которой находится кривая Безье.

Форма В-сплайнов.

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

X(t)=T*Ms*Gsx

Ms=(1/6)*

При аппроксимации управляющих точек Р1….Рn последовательностью в-сплайнов мы будем применять между каждой парой соседних точек геометрические матрицы.

2≤ i ≤n-2

Соседние файлы в папке shpory