矢量数学 - 确定边界框的坐标

Vector Math - Determine coordinations of bounding box

二维平面上有两个点,<10, 10> 指向<30, 50>。如何使用矢量数学确定蓝线是否触及 100x100 网格的边界框的坐标?

如果你能提供一个通用的解决方案(也就是公式)那就太棒了。

所以你有两个向量:a = (10;10)b = (30;50)。为了构建您的线,我们将 a 作为原点,将 b 作为方向向量,因此 g(t) = a + (b-a)*t = (10;10) + (20;40)*t,其中 t 是线的参数。在您的示例中,您将检查 g 的 y 坐标为 100:g(t)[2] = 10 + 40*t = 100 ➪ 40*t = 90 ➪ t = 9/4。现在把你的 t 放到 g 的等式中:g(9/4) = (10;10) + (20;40)*(9/4) = (55;100)。结果,(55;100) 是接触边界框底部的点。