![]() |
|
![]() ![]() ![]() |
|
RomanEEP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: нет Всего: 8 |
В общем где можно найти любое описание и/или реализацию алгоритма удаления невидимых линий, именно линий, т.е. дан массивы треугольников и линий необходимо рассчитать, какие линии или их части видны наблюдателю.
По мимо алгоритма желательно информация по его оптимизации, например с помощью BSP и критерии построения дерева |
|||
|
||||
cardinal |
|
|||
![]() Инженер ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 6003 Регистрация: 26.3.2002 Где: Германия Репутация: 5 Всего: 99 |
Я сначала подумал о том, что граф. карты как-то при помощи построения треугольников определяют, какие из них рисовать не надо. Ничего пока правда в инете не нашел, но нашел кое что другое
http://old.osp.ru/pcworld/2003/09/064.htm То есть исходя из изложенного можно куда то двигаться. А вообще я бы сначала отсортировал треугольники по глубине. Кстати на какой треугольник смотрит (перпендикулярно на него) наблюдатель изначально? От этого ведь зависит то, какие треугольники будут им перекрыты... -------------------- Немецкая оппозиция потребовала упростить натурализацию иммигрантов В моем блоге: Разные истории из жизни в Германии "Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино". А. и Б. Стругацкие |
|||
|
||||
RomanEEP |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 424 Регистрация: 18.5.2006 Где: Коломна Репутация: нет Всего: 8 |
Наблюдатель смотрит вдоль оси z (парралельная проекция), точнее сцена трансформируется к этому виду (преобразуются вершины треугольников и линий по матрице преобразования).
Уточню, что выходными данными нужны именно набор линий, а не картинка, которую в принципе несложно построить z-буфером и аналогичным методом. В общем задача мне примерно понятно - фактически надо для каждой линии проверить насколько она загораживается каждым треугольником, поскольку это достаточно медленно пересекаются только близкорасположенные линии и треугольники с помощью BSP. Где можно найти систематизированную информацию об этом??? |
|||
|
||||
Cr@$h |
|
|||
![]() Исследователь ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1693 Регистрация: 3.4.2005 Где: Санкт-Петербург, Россия Репутация: 4 Всего: 41 |
Советую обратиться так же к форуму Программирование графики, игр и ИИ
|
|||
|
||||
boevik |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1452 Регистрация: 31.5.2004 Где: Израиль Репутация: нет Всего: 35 |
Можно решить при помощи paradigm sweep line.
1) Отсортировать все точки начала и концов линий по углу к горизонтали. 2) Начать с какой либо точки 3) Если начало отрезка, добавить отрезок в balanced tree 4) Если точка конец отрезка, вытащить отрезок из balanced tree 5) Проверить, какой отрезок видим, т.е. ближайший к наблюдателю, пометить его каким либо образом. 6) Перейти к следующей точке. 7) Повторить 3-6) пока снова не добиремся до первой точки. -------------------- Никогда не говори никогда |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Алгоритмы" | |
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Алгоритмы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |