Пересекающийся усеченный - PullRequest
0 голосов
/ 30 января 2019

Я пытаюсь найти способ определить, пересекаются ли два фруста и, если да, насколько велик пересечение (например, 100%, если два фруста находятся в одном и том же месте, 0%, если они не касаются).

У меня есть положение, объем и всевозможные данные о двух frusta, я просто не знаю, как их использовать.Я взглянул на теорему о разделяющей оси для обнаружения столкновений, но не могу точно определить, действительно ли это то, что я ищу.

У кого-нибудь есть какие-либо предложения относительно направления движения?

1 Ответ

0 голосов
/ 31 января 2019

SAT скажет вам, только если они касаются.Он не сможет дать вам перекрытие в процентах.Чтобы рассчитать процент перекрытия фруста, я думаю, что вам нужно будет рассчитать объем многогранника, созданного путем пересечения фруста, и разделить его на объем «основного» усеченного конуса.

Расчет пересечения frusta скажет вам, если они перекрываются.Один из способов сделать это - создать bsp из каждого и выполнить операцию пересечения CSG.

Получив многогранник пересечения, вы можете рассчитать его объем, разделив его на тетраэдры и сложив всеобъемы тетраэдров.Существуют научные статьи, в которых тетраэдризация проводится непосредственно из представительства BSP.

...