Форма литья капсулы против выпуклых многогранников - PullRequest
2 голосов
/ 21 августа 2011

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

Вот краткая схема отливки капсулы против большого выпуклого многогранника (нарисована только одна грань) enter image description here

Какой алгоритм или процесс может это сделать? Я предполагаю, что это было бы похоже на сотворение сферы, но я тоже не могу найти много по этому поводу.

Ответы [ 2 ]

1 голос
/ 13 ноября 2011

Поскольку вы рассматриваете капсулы и выпуклые многогранники, я полагаю, вы могли бы использовать что-то на основе GJK .Вы получите точку контакта и нормаль поверхности во время столкновения, а также минимальное расстояние между объектами и связанными точками-свидетелями, если столкновения нет.1005 * Интерактивное и непрерывное обнаружение столкновений для аватаров в виртуальных средах .

0 голосов
/ 09 сентября 2011

Правильно, если оно совпадает с вашей диаграммой, то найти место, где он сталкивается, - самая легкая часть. Получите координаты окружностей x и y и добавьте «+» радиус окружности. Если эта точка находится на линии пути, то это столкновение. Линия должна быть найдена с использованием уравнения линии здесь y = mx + c.

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

Проблема в том, что я продолжаю то, что я знаю из C ++, и я не знаю, в чем ваше программирование.

Я думаю, вы хотели что-то еще, но не можете понять, что это из абзаца.

...