Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проверка столкновений


NOX ©   (2004-08-18 13:44:00) 

Привет. Подскажите кто знает как организовать проверку столкновений в полном 3D. Или киньте ссылку на статью.
Заранее спасибо.


марсианин   (2004-08-18 23:59:00) [1]

2NOX
все зависит от того, что именно ты пишешь..
сферы проверить очень просто.. прямоугольники - значит. сложнее..
ИМХО прямоугольники имеет смысл использовать тогда, когда ты хочешь модеровать физику чего-то некруглого на чем-то плоском.

и проверка столконвений тогда лишь вершина айсберга..

если разбираешься в С++, посмотри исходники движка OGRE на www.ogre3d.org
там точно есть демка, где пирамидка из кубиков очень реалистично рассыпается по полу..
может и сам движок приглянется..


NOX   (2004-08-18 20:51:00) [2]

Идея прямоугольниками хорошая. Если не трудно подскажите как проверить столкновение прямоуголников друг с другом и с точкой. Или может статьи какие есть?


Zer0[np]   (2004-08-18 19:03:00) [3]

опитмизации проверки столкновений за счет: сортировок, иерархических структур, выделении набора примитивов наиболее хорошо описывающих модель.

пример второго - BSP (Binary Space Partition) или QuadTree. (гугли их)

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


Darthman   (2004-08-18 17:25:00) [4]

Laugh out loud - очень смешно (дословно громко).

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


Колбасьев   (2004-08-18 17:19:00) [5]


> Fredy314:
> ну ты lol.


LOL - это не обзывание , а сокращение от "Очень Смешно" на английском ;-)


miek   (2004-08-18 16:57:00) [6]

>не буду же я на столкновение с каждым треугольником проверяться

Будешь, если нужна именно точная проверка. Любая оптимизация работает по принципу рычага - в одном виграл, в другом проиграешь.


Darthman   (2004-08-18 16:38:00) [7]

Оскорблений не было, но проверка столкновений к АПИ отношения не имеет. Структура и там и там может быть абсолютно одинаковая.


NOX   (2004-08-18 16:31:00) [8]

Со сферами-то ладно, если есть их координаты то это просто, а вот если объект сложный, например модель автомобиля, который из 5000 полигонов состоит? Не буду же я на столкновение с каждым треугольником проверяться? Должны же быть какие-то алгоритмы или приёмы. Как другие это делают???


Fredy314   (2004-08-18 16:14:00) [9]

Проверка может зависить от структуры хранимых данных по ним можно оптимизировать или запутать чтоб самому не разобратся.

А вот оскорблений не надо.


Darthman   (2004-08-18 15:28:00) [10]

Fredy314:
ну ты lol. От графического АПИ не зависит как проверку проводить

NOX:
Сфера на сферу проверить вообще тривиально.


Fredy314   (2004-08-18 14:39:00) [11]


> в полном 3D

а ето что? в чем ты 3D рисуеш про то и ищи (DirectX там или OpenGL?)


Наверх

Титульная страница Поиск, карта сайта Написать письмо