Модераторы: Rickert
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Параллелепипед описывающий объект и его объем, Как вычислить? 
:(
    Опции темы
EgoBrain
Дата 11.2.2009, 12:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 2



Друзья, подскажите как выполнить вычисление параллелепипеда описывающего объект, ну или почитать чего про это. Это используется во 
многих программах, в том числе и в включенных в пакет DirectX SDK. А так же хотелось бы получить готовый алгоритм вычисления объема "свободного места" в этом объеме для других объектов. Нашел функцию Geometry.ComputeBoundingBox и еже с ней, там как я понял полезная инфа - Вектор нижнего левого угла и Вектор правого верхнего, но чет использовать ее я не смог :( В общем думаю вопрос ясен.

PM MAIL ICQ Skype   Вверх
Rpahut
Дата 11.2.2009, 23:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

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



Это наверное луна в созвездии девы так влияет smile Люди чо с вами?
http://msdn.microsoft.com/en-us/library/bb323919(VS.85).aspx

Цитата

А так же хотелось бы получить готовый алгоритм вычисления объема "свободного места" в этом объеме для других объектов.

Меняю на исходники висты HP smile 

ЗЫ Вот тут еще примерчик.

Это сообщение отредактировал(а) Rpahut - 11.2.2009, 23:34
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
EgoBrain
Дата 15.2.2009, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 2



Цитата(Rpahut @ 11.2.2009,  23:22)
Цитата

А так же хотелось бы получить готовый алгоритм вычисления объема "свободного места" в этом объеме для других объектов.

Меняю на исходники висты HP smile 

Я думал этот велосипед уже давно колесит по алгоритмам программ всех 3д-кодеров.
PM MAIL ICQ Skype   Вверх
Rpahut
Дата 15.2.2009, 21:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

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



Вычисление свободного объема внутри BB? Ну это достаточно необычный велосипед.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
EgoBrain
Дата 16.2.2009, 03:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 2



Ну вот у меня внутри этого параллелепипеда находятся разные объекты, которые представляют собой динамический массив специального типа данных ObjectItem (мой класс), там хранятся разные данные (стандартные хар-ки объекта и сам Mesh-объект с материалами и текстурами), если я добавлю в свой класс ObjectItem метод вычисления BoxBounding, то у меня будут параллелепипеды всех объектов и их центры, вот как с такими данными вычислить влезает ли новый объект в заданный объем?
PM MAIL ICQ Skype   Вверх
Rickert
Дата 16.2.2009, 05:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


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

Репутация: 6
Всего: 52



EgoBrain, смысл bounding box в том, чтобы упростить вычисления: засунуть объект в коробку, пересечения с которой получить намного менее затраней, чем со всей моделью, ввиду разницы в кол-ве граней/полигонов. Вычисление же объёмов сложных тел - задача непосильная, и не применяется в геймдеве.
Цитата(EgoBrain @  16.2.2009,  03:07 Найти цитируемый пост)
Ну вот у меня внутри этого параллелепипеда находятся разные объекты

Откуда они там берутся? Смысл bounding box'а опять-таки теряется, ибо там должен быть один объект - mesh модели, для которой он расчитан.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
EgoBrain
Дата 16.2.2009, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 2



Вы наверное меня не правильно поняли. Для начала - причем тут геймдев? Тут только геймдев обсуждается? Имеется параллелепипед представляющий некую ограниченную емкость, есть возможность добавлять в эту емкость и удалять из нее объекты, необходимо перед каждым добавлением расчитывать есть ли возможность туда объект впихнуть или нет. Вот я и думаю расчитывать БаундингБокс для каждого объекта и смотреть не пересекается ли он с БаундингБоксами других объектов, только как реализовать пока незнаю. 
PM MAIL ICQ Skype   Вверх
Rickert
Дата 16.2.2009, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


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

Репутация: 6
Всего: 52



EgoBrain, ану вот теперь ясно.
Но тут у вас будет ещё проблема в чём: у вас может быть объём достаточный для добавления след. объекта, но всё будет зависеть от того как он распределён. Задача не тривиальная. Я так на вскидку не скажу решения, надо обмыслить.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
Rpahut
Дата 16.2.2009, 20:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


0xdeadbeef
*


Профиль
Группа: Участник
Сообщений: 243
Регистрация: 9.4.2006

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



Если вершина одного ББ внутри другого - то это пересечение. Если просто нужно определить влезает/не влезает, то этого достаточно.
--------------------
C/C++ GameDevRSS Раздела программирования игрOpenGL - уроки от NeHeКак продать идею?
PM MAIL   Вверх
Rickert
Дата 17.2.2009, 02:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


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

Репутация: 6
Всего: 52



Rpahut, тут другая задача у человека: есть параллелипипид и есть другой набор параллелипипидов, которые в различные моменты рождаются внутри первого: задача состоит в том, чтобы узнать "влезет ли в первый параллелипипид след. параллелипипид, который должен появиться?".


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
EgoBrain
Дата 18.2.2009, 06:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

Репутация: 1
Всего: 2



Пока что я понял только одно - не умею доходчиво объяснять, Rickert, спасибо за понимание smile 
PM MAIL ICQ Skype   Вверх
Rickert
Дата 18.2.2009, 06:38 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ситхи не пройдут!
****


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

Репутация: 6
Всего: 52



EgoBrain, вы просто торопитесь и от того часть слов выскакивает из текста. Перед постом просто перечитывайте своё сообщение и старайтесь дать как можно больше информации. Много слов, при объяснении вопроса, не бывает, а вот мало - как видите, бывает.
Сам недавно убедился: правильно заданный вопрос - половина ответа.


--------------------
Ни что не внушает сна крепче, чем день приисполненный трудов!
PM MAIL WWW Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование игр, графики и искуственного интеллекта"
Rickert

НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание что новые темы касающиеся новых вопросов создаются кнопкой "Новая тема" а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих тематических темах будут удалены а их авторы, при рецедиве, забанены.

  • Литературу, связанную с программированием графики, обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы связанные с программированием графики и мультимедии на языках С++ и Delphi
  • Вопросы по реализации алгоритмов рассматриваются здесь

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

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


 




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


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

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