提问者:小点点

如何检查两个球体表面的两点连接是否与任何球体碰撞


我想在两个独立的球体表面的点之间建立一个连接,条件是它不能穿过这两个球体。(这个连接只是一条线,它可以被认为是这两个点的“起点和终点”向量)。

为此,我有两个球体,它们各自的局部坐标系(k是该球体的法线曲面,ij垂直于它的向量)全局坐标系中的轴和中心点,从中我计算了全局坐标系中的连接点(我们称这些连接点为p1p2

虽然得到这些点和它们之间的向量是微不足道的,但我不确定如何检查生成的向量是否与这些球体发生碰撞。

我知道我应该形成并使用基矩阵的变化,但我不知道如何准确地应用它。

感谢任何帮助。


共1个答案

匿名用户

检查直线是否低于每个球体的切面就足够了。这是通过检查向量与法线的点积是否为负数来完成的。给定提供的符号,这将是:

v = p2 - p1
k1.dot(v) < 0 || k2.dot(v) > 0