Это не обязательно самый быстрый ответ, но один алгоритм полного доказательства состоит в том, чтобы иметь две области, представленные многомерной функцией (из xyz), которая возвращает 1, если она находится в области, и 0 в противном случае, умножьте их вместе, а затем посмотрите, если интегралвсего пространства не равно нулю.
Если столкновение является точечным, просто используйте значение функции, основанное на истине и ложи.
Это будет работать 100% времени, пока вы можетевычислить интеграл ...
Другой вариант, который я бы использовал, - это просто расширить края области функций так, чтобы требовалось только обнаружение точек.Приготовьтесь к огромной нагрузке штучных функций.