КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Подсчет количественной невидимости. Алгоритм Аппеля
Метод работает с многогранниками. Он основан на подсчете количественной невидимости - числа точек, закрывающих данную точку поверхности. Число закрывающих точек равно числу закрывающих лицевых граней. Точка видима, если ее количественная невидимость равна 0. Как изменяется количественная невидимость вдоль A B
видимые ребра, т.е. перед работой алгоритма выполняется D C
рых одна из составляющих ребро граней видима (лицевая),
В терминах проекций: изменение количественной невидимости ребра происходит в точке пересечения с каким-либо контурным ребром. В такой точке невидимость увеличивается на 1, если ребро уходит за контурное ребро и уменьшается на 1, если ребро выходит из-за контурного. Таким образом ребро разбивается на отрезки с различными значениями количественной невидимости. При этом различие между соседними отрезками равно 1. Работа алгоритма начинается с выбора какой-либо вершины многогранника и определения ее количественной невидимости. Для этого через эту точку и точку наблюдения проводится отрезок прямой и находятся пересечения этого отрезка со всеми гранями (как в тесте глубины DT1). Число найденных граней - количественная невидимость начальной точки. Далее прослеживается изменение количественной невидимости вдоль каждого из ребер, выходящих из этой вершины. Эти ребра проверяются на прохождение позади контурной линии, что изменяет количественную невидимость. Части отрезка с нулевой количественной невидимостью сразу рисуются. Далее выбирается вершина, образуемая одним из рассмотренных ребер. Для нее количественная невидимость подсчитана, процесс повторяется. Как опреде- лить пересечение рассматриваемого ребра с контур- ным? Аппель предлагает
следующее. Образуется тре-
угольник, вершинами которого являются точка наб- людения и концы бро изменяет коли
сече
существует, количественная невидимость q увели- чивается на 1 при положительном знаке векторного произведения контурного и рассматриваемого ребер и уменьшается на 1 в противном случае.
По сравнению с алгоритмом Робертса алгоритм Аппеля более быстр, т.к. число ребер, входящих в контурную линию, намного меньше общего числа ребер. Подсчет количественной невидимости можно применять и для гладких поверхностей. Здесь контурные линии являются гладкими кривыми. Количественная невидимость точки изменяется, если точка поверхности проектируется на проекцию контурных линий (это происходит при наличии складок в теле). Складка изменяет невидимость на 2.
Дата добавления: 2014-01-11; Просмотров: 1179; Нарушение авторских прав?; Мы поможем в написании вашей работы! |