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

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