Физическая модель
От: NWP Россия  
Дата: 23.09.02 12:16
Оценка:
Здраствуйте
Возник вопрос по поводу отлавлмвания момента столкновения 3д объектов....
кто что знает прошу подсказать...
заранее спсб!
Re: Физическая модель
От: Tolanay Россия  
Дата: 24.09.02 13:26
Оценка:
Здравствуйте NWP, Вы писали:

NWP>Здраствуйте

NWP>Возник вопрос по поводу отлавлмвания момента столкновения 3д объектов....
NWP>кто что знает прошу подсказать...
NWP>заранее спсб!

Для каждого объкта ты можешь завети описывающую
его сферу (в которой он будет целиком находится).
Для начала ты будешь перебирать все пары таких сфер,
и искать их пересечения. Это делается просто:
abs(Xsphere1-Xsphere2)<Rsphere1+Rsphere2.

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

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

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

Правда хочу предупредить, что подобными задачами я не занимался,
и данный способ придумал сам.
Наверняка где-нибудь можно найти алгоритмы решения такой задачи,
Но если ты до сих пор не нашел, может быть тебе поможет то, что
я написал.
Re: Физическая модель
От: _Kostya_  
Дата: 24.09.02 13:40
Оценка:
Здравствуйте NWP, Вы писали:

NWP>Здраствуйте

NWP>Возник вопрос по поводу отлавлмвания момента столкновения 3д объектов....
NWP>кто что знает прошу подсказать...
NWP>заранее спсб!

А что именно интересует? Методы обнаружения столкновений объектов или время их столкновения? А то из твоего вопроса ничего не понятно.
Re[2]: Физическая модель
От: NWP Россия  
Дата: 24.09.02 22:33
Оценка:
Здравствуйте Tolanay, Вы писали:

T>Здравствуйте NWP, Вы писали:


NWP>>Здраствуйте

NWP>>Возник вопрос по поводу отлавлмвания момента столкновения 3д объектов....
NWP>>кто что знает прошу подсказать...
NWP>>заранее спсб!

T>Для каждого объкта ты можешь завети описывающую

T>его сферу (в которой он будет целиком находится).
T>Для начала ты будешь перебирать все пары таких сфер,
T>и искать их пересечения. Это делается просто:
T>abs(Xsphere1-Xsphere2)<Rsphere1+Rsphere2.

T>Для каждой модели ты можешь создать грубую аппроксимацию

T>состоящую из прямоугольных параллелепипедов.
T>И если приведенное выше условие выполнилось, то
T>ишещь пересечение упрощенных моделей.

T>Если тебя интересует лишь факт пересечения,

T>то можешь реализовать следующий алгоритм:
T>Каждую вершину одной из грубых моделей проверяешь на попадание
T>в какой-нибудь из параллелепипедов второй.
T>Или пересечение отрезка одной модели с гранью другой.

T>Не знаю, что тебе еще посоветовать, поскольку ты описал задачу

T>достаточно в общих чертах.

T>Правда хочу предупредить, что подобными задачами я не занимался,

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

Спасибо за ответ.
О таком способе мы тоже думали, однако нам бы хотелось узнать какие есть общепринятые алгритмы (если такие существуют), которыми пользуются девелоперы.
Re[2]: Физическая модель
От: NWP Россия  
Дата: 24.09.02 22:36
Оценка:
Здравствуйте _Kostya_, Вы писали:

K>Здравствуйте NWP, Вы писали:


NWP>>Здраствуйте

NWP>>Возник вопрос по поводу отлавлмвания момента столкновения 3д объектов....
NWP>>кто что знает прошу подсказать...
NWP>>заранее спсб!

K>А что именно интересует? Методы обнаружения столкновений объектов или время их столкновения? А то из твоего вопроса ничего не понятно.


Ну вообщето хотелось бы узнать методы обнаружения столкновений для определения времени их столкновения
Re[3]: Физическая модель
От: IgorK Россия  
Дата: 25.09.02 05:38
Оценка:
Здравствуйте NWP, Вы писали:

NWP>Спасибо за ответ.

NWP>О таком способе мы тоже думали, однако нам бы хотелось узнать какие есть общепринятые алгритмы (если такие существуют), которыми пользуются девелоперы.

В целом Tolanay прав. Существует множество способов и все они зависят от типа конкретной задачи. В общем случае, для проверки столкновений, используется упрощенная геометрия — сферы, габаритные коробки (bounding box), выпуклые оболочки (convex hull), супер low-poly модели и т.д. что именно использовать и, даже что с чем сталкивать — это нужно решать исходя из требований самой задачи.
... << Янус 1.0 alpha 9 >>
Re[4]: Физическая модель
От: NWP Россия  
Дата: 27.09.02 03:51
Оценка:
Здравствуйте IgorK, Вы писали:

IK>Здравствуйте NWP, Вы писали:


NWP>>Спасибо за ответ.

NWP>>О таком способе мы тоже думали, однако нам бы хотелось узнать какие есть общепринятые алгритмы (если такие существуют), которыми пользуются девелоперы.

IK>В целом Tolanay прав. Существует множество способов и все они зависят от типа конкретной задачи. В общем случае, для проверки столкновений, используется упрощенная геометрия — сферы, габаритные коробки (bounding box), выпуклые оболочки (convex hull), супер low-poly модели и т.д. что именно использовать и, даже что с чем сталкивать — это нужно решать исходя из требований самой задачи.


Спасибо за внимание к вопросу.
Конкретная задача состоит в том чтобы реализовать деформацию полигонной модели в соответствии со столкновением
или давлением в какую либо точку модели.
Необходимо установить момент столкновения и его характер.
У нас возник вопрос о решении задачи пересечения многогранников — а именно о методе ее реализации в наиболее простом варианте.

Вы говорили о низко полигональных моделях -- думаю на них решаются похожие задачи -- не могли бы вы подсказать что нибудь в этом направлении.
Re[5]: Физическая модель
От: IgorK Россия  
Дата: 30.09.02 09:43
Оценка:
Здравствуйте NWP, Вы писали:

[skip]

NWP>Спасибо за внимание к вопросу.

NWP>Конкретная задача состоит в том чтобы реализовать деформацию полигонной модели в соответствии со столкновением
NWP>или давлением в какую либо точку модели.
NWP>Необходимо установить момент столкновения и его характер.
NWP>У нас возник вопрос о решении задачи пересечения многогранников — а именно о методе ее реализации в наиболее простом варианте.

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



Вот что я нашел в факе ru.opengl:


26 > Как делают пpовеpкy столкновения объектов (Collision Detection) ?
 
Алгоpитм выглядит пpимеpно так:
  Preprocessing (подготовка)
      1. Модель pазбивается на выпyклые части (пpогpаммно)
           Использyя:
           - Тpиангyляция Деланея (нyжна для диагpаммы Воpонова)
           - Диагpаммy Воpонова (нахождение ближайшего соседнего скопления
             для множества точек)
           - Постpоение выпyклых объемов (Convex Hull) над частями объекта.
      2. Полyченые части и их выпyклые объемы загоняются в какyю либо иеpаp-
         хию, пpи этом сохpаняется связи междy частями. Hапpимеp Octree.
      3. Стpоятся описывающие объёмы (Bounding Volumes). Hапpимеp сфеpа (Bo-
         unding Sphere). Стpоятся вокpyг всех частей и множества частей.
  Query (пpовеpка)
      Уpовень 1. Попадание точки в какyю-либо сфеpy (очень пpосто)
      Уpовень 2. Попадание точки в выпyклый объём (минимальное количество
                 гpаней, по сyти является апpоксимиpованой моделью для данной
                 части).
         Алгоpитмов много.
         - Точка внyтpи если лежит не ниже ни одной из плоскостей
         - Точка внyтpи если осевые лyчи пеpесекли объект нечетное кол-во pаз
      Уpовень 3. Вычисление ближайшего скопления множества точек к точки.
                 Использyя yже основная модель.
      Уpовень 4. Пpовеpка пеpесечение с половинным пpостpанством (Halfspace
                 intersection).
                 Точка внyтpи, если пеpесеклась с внyтpянним пpостpанством.
 
 Я дyмаю начни с пpостого, а если начнет тоpмозить, то постепенно добавляй
ypовни пpовеpки.
 
                                                               Mike Samsonov


Это только определение столкновения Деформация — это уже отдельный вопрос. Если честно, то чего-то, проверенного практически, у меня нет. Но если порассуждать — здесь необходимо задаться такими вещами как упругость объекта (его сопротивление окружаещему воздействию), жесткость конструкции (насколько локальной будет деформация), направление и сила удара (давления). Сопромат, одним словом А его я, к сожалению, не изучал.

Кстати, сейчас покопался в и-нете, нашел пару ссылок. По крайней мере будет за что зацепиться.

Real time deformation of solids, Part 1
Real time deformation of solids, Part 2
3D Object Morphing

Хотя наверное лучше сразу сюда, имхо почитать есть что
Re[5]: Физическая модель
От: IgorK Россия  
Дата: 30.09.02 09:50
Оценка:
Здравствуйте NWP.

Вот еще в догонку здесь туториал по collison detection.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.