Войти
ПрограммированиеФорумФизика

Физика «на пальцах»: Обнаружение столкновений для выпуклых геометрий (комментарии) (2 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#15
11:31, 13 окт. 2012

а я в своё время бсп деревья пересекал:)

#16
0:56, 17 окт. 2012

что вообще думаешь о GJK

??

#17
0:58, 17 окт. 2012

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

#18
14:15, 23 ноя. 2012

как на счет обнаружение столкновений для "впуклых" поверхностей?

#19
17:51, 23 ноя. 2012

впуклой поверхностью, скорее всего, будет либо heightmap, с которым коллижны считаются вообще особенно, либо это тримеш, для которого нужно делать convex decomposition. чего-то принципиально другого ещё не придумали.

#20
0:15, 24 ноя. 2012

Suslik
> либо это тримеш, для которого нужно делать convex decomposition. чего-то принципиально другого ещё не придумали.
т.е. тримешь разбивается на конвексы, а потом проверяются столкновения именно с ними, да? ну если да, то других вариантов у меня и не было. а я, глупый, был уверен, что "люди" придумали что-то получше...увы.

#21
0:22, 24 ноя. 2012

какие-то попытки были. погугли по signed distance map, плюс в двигах вроде ODE используется какая-то магия, которая еле как работает и жутко тормозит. convex decomposition сейчас считается стандартным методом.

#22
22:01, 14 дек. 2012
Для многогранника можно перебрать все вершины и выбрать те, области вороного которых включают ось axis с некоторой погрешностью

поясните пожалуйста
насколько я понимаю ось axis - направление, а не какие-то конкретные точки в пространстве
#23
23:04, 14 дек. 2012

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

#24
23:25, 14 дек. 2012

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

#25
23:26, 14 дек. 2012

BlackOverlord
> тоесть надо отложить этот вектор (или семейство векторов) от тестируемой
> вершины и проверить, попадает ли хоть один из них в область вороного данной
> вершины? если да, то вершиная является одной из образующих контактную площадку.
> Так?
верно

#26
23:34, 14 дек. 2012

но ведь если взять маленький угол отклонения (погрешность то есть), может получиться так, что ни одна вершина не попадет
например в случае тетраэдра, когда ветор PD направлен перпендикулярно одной из граней

#27
23:41, 14 дек. 2012

BlackOverlord
> но ведь если взять маленький угол отклонения (погрешность то есть), может
> получиться так, что ни одна вершина не попадет
> например в случае тетраэдра, когда ветор PD направлен перпендикулярно одной из
> граней
неа, не может. границы области вороного перпендикулярны прилежащей к ней грани тетраэдра, следовательно, все три вершины, образующие грань, попадут.

#28
23:45, 14 дек. 2012

а, точняк

#29
0:20, 15 дек. 2012

еще вопрос про метод axis rotation
если построить мало осей (например 4), а реальная грань у нас, допустим, восьмиугольник. то при взятии саппорт поинтов контактная площадка получится меньше грани (четырехугольник). это никак не повлияет?

Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумФизика