2D平面上有两个点,< 10,10>指向< 30,50>。如何使用矢量数学确定蓝线是否接触100x100网格的边界框的坐标?
如果你能提供一个很棒的通用解决方案(又名公式)。
答案 0 :(得分:1)
所以你有两个向量: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)
是触及边界框底部的点。