Разделы

Авто
Бизнес
Болезни
Дом
Защита
Здоровье
Интернет
Компьютеры
Медицина
Науки
Обучение
Общество
Питание
Политика
Производство
Промышленность
Спорт
Техника
Экономика

ПОЛИГОНАЛЬНЫЕ СЕТКИ

 

Полигональная сетка представляет собой набор вершин, ребер и плоских многоугольников. Вершины соединяются ребрами. Многоугольники рассматриваются либо как последовательность вершин или ребер. Можно предложить несколько способов внутреннего представления полигональных сеток.

 

 

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

 

Многоугольник Р описывается:

P((x1,y1,z1),…(xn,yn,zn))

P – список координат вершин в порядке обхода многоугольника.

 

 

Пример полигональной сетки: Pi - многоугольники, Vj - вершины, Ek – ребра

 

Недостаток:

-двойная прорисовка ребер

-для поиска многоугольников с одной вершиной необходимо сравнение пар ребер всех примыкающих многоугольников

-неоднозначность определения вершин при сравнении координат (потеря точности)

 

2.Указатели в список вершин.

 

Узел сетки запоминается лишь один раз в списке вершин:

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

Многоугольник определяется ссылкой на элемент списка.

 

Пример:

 

 

Список вершин:

V=(V1,V2,V3,V4) =((x1,y1,z1)…(xn,yn,zn))

Описание многоугольников:

P2=(1,2,4); P1=(4,2,3)

Преимущество:

- экономия памяти за счет однократного описания каждой вершины

- при преобразовании модели координаты вершин легко меняются.

Недостаток: трудно искать многоугольники с одинаковыми ребрами.

 

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

 

Имеется список вершин V. Имеется список ребер Е, каждый элемент

которого описывает тетраэдр:

Е=( V1,V2, P1,P2)

V1 – вершина 1

V2 – вершина 2

P1 – многоугольник 1

P2 – многоугольник 2

Если ребро принадлежит одному многоугольнику, то одна из ссылок а – пуста.

Многоугольник определяется как ссылка на ребра Р=(Е1,... Еn)

 

 

Пример:

 

 

V=(V1,V2,V3,V4)=(x1,y1,z1,...)

E1=(V1,V2,P1,l )

E2=(V2,V3,P2,l )

E3=(V3,V4,P2, l)

E4=(V4,V2,P1,P2)

E5=(V4,V1,P1,l )

P1=(E1,E4,E5)

P2=(E1,E3,E4) E4 – не прорисовывается т.к. ссылка на P1

l = пусто

Вычеркиваются все ребра.

Для определения произвольной точки внутри многоугольника на плоскости можно пользоваться системой уравнений:

Ax+By+Cz+D=0 – уравнение плоскости

Ax1+By1+Cz1+D=0

Ax2+By2+Cz2+D=0

Ax3+By3+Cz3+D=0

Уравнения решаются относительно x,y,z.

Где: коэффициенты A,B,C,D определяются для плоскости по трем вершинам.

 

Дата публикации:2014-01-23

Просмотров:498

Вернуться в оглавление:

Комментария пока нет...


Имя* (по-русски):
Почта* (e-mail):Не публикуется
Ответить (до 1000 символов):







 

2012-2018 lekcion.ru. За поставленную ссылку спасибо.