我想在两个独立的球体表面的点之间建立一个连接,条件是它不能穿过这两个球体。(这个连接只是一条线,它可以被认为是这两个点的“起点和终点”向量)。
为此,我有两个球体,它们各自的局部坐标系(k
是该球体的法线曲面,i
和j
垂直于它的向量)全局坐标系中的轴和中心点,从中我计算了全局坐标系中的连接点(我们称这些连接点为p1
和p2
)
虽然得到这些点和它们之间的向量是微不足道的,但我不确定如何检查生成的向量是否与这些球体发生碰撞。
我知道我应该形成并使用基矩阵的变化,但我不知道如何准确地应用它。
感谢任何帮助。
检查直线是否低于每个球体的切面就足够了。这是通过检查向量与法线的点积是否为负数来完成的。给定提供的符号,这将是:
v = p2 - p1
k1.dot(v) < 0 || k2.dot(v) > 0