Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Алгоритм удаления невидимых линий 
:(
    Опции темы
RomanEEP
Дата 1.9.2006, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: нет
Всего: 8



В общем где можно найти любое описание и/или реализацию алгоритма удаления невидимых линий, именно линий, т.е. дан массивы треугольников и линий необходимо рассчитать, какие линии или их части видны наблюдателю.
По мимо алгоритма желательно информация по его оптимизации, например с помощью BSP и критерии построения дерева
PM MAIL   Вверх
cardinal
Дата 1.9.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 5
Всего: 99



Я сначала подумал о том, что граф. карты как-то при помощи построения треугольников определяют, какие из них рисовать не надо. Ничего пока правда в инете не нашел, но нашел кое что другое
http://old.osp.ru/pcworld/2003/09/064.htm
То есть исходя из изложенного можно куда то двигаться.

А вообще я бы сначала отсортировал треугольники по глубине.

Кстати на какой треугольник смотрит (перпендикулярно на него) наблюдатель изначально? От этого ведь зависит то, какие треугольники будут им перекрыты...


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
RomanEEP
Дата 1.9.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 424
Регистрация: 18.5.2006
Где: Коломна

Репутация: нет
Всего: 8



Наблюдатель смотрит вдоль оси z (парралельная проекция), точнее сцена трансформируется к этому виду (преобразуются вершины треугольников и линий по матрице преобразования).
Уточню, что выходными данными нужны именно набор линий, а не картинка, которую в принципе несложно построить z-буфером и аналогичным  методом.

В общем задача мне примерно понятно -  фактически надо для каждой линии проверить насколько она загораживается каждым треугольником, поскольку это достаточно медленно пересекаются только близкорасположенные линии и треугольники с помощью BSP. Где можно найти систематизированную информацию об этом???
PM MAIL   Вверх
Cr@$h
Дата 1.9.2006, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Исследователь
***


Профиль
Группа: Участник Клуба
Сообщений: 1693
Регистрация: 3.4.2005
Где: Санкт-Петербург, Россия

Репутация: 4
Всего: 41



Советую обратиться так же к форуму Программирование графики, игр и ИИ
PM MAIL ICQ   Вверх
boevik
Дата 3.9.2006, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1452
Регистрация: 31.5.2004
Где: Израиль

Репутация: нет
Всего: 35



Можно решить при помощи paradigm sweep line.
1) Отсортировать все точки начала и концов линий по углу к горизонтали.
2) Начать с какой либо точки
3) Если начало отрезка, добавить отрезок в balanced tree
4) Если точка конец отрезка, вытащить отрезок из balanced tree
5) Проверить, какой отрезок видим, т.е. ближайший к наблюдателю, пометить его каким либо образом.
6) Перейти к следующей точке.
7) Повторить 3-6) пока снова не добиремся до первой точки.



--------------------
Никогда не говори никогда
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0734 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.