1

这是一个线性代数问题,在我开始处理 2D 和 3D 编程之前,我应该理解它。我是一名商业应用程序程序员,但我正在探索对游戏编程的兴趣。我意识到这对某些人来说可能是一个简单的问题,所以请多多包涵。

直线 L 穿过点 P1 (3, -1, 2) 和 P2 (1, -2, -1)。确定 L 在 xy 平面上的交点。

4

2 回答 2

1

好的,使用这两个点,您可以从该点找到一条线的方程(谷歌在 3d 中找到一条线的方程),您可以将一条线的方程和 xy 平面的方程等同起来,以找出它们的交点(谷歌在 3D 中找到两个平面的交点)。

于 2012-05-31T17:20:15.020 回答
1

您可以使用线的 z 坐标作为自变量,并使用这两个点来获得 x 和 y 坐标以 z 表示的公式。

首先,我们定义斜率:

x_slope=(x2-x1)/(z2-z1);
y_slope=(y2-y1)/(z2-z1);

然后我们有:

x-x1=x_slope*(z-z1)

y-y1=y_slope*(z-z1)

设置z为 0 并求解 x 和 y,我们得到

x_plane_coord=x1-(x_slope*z1);
y_plane_coord=y1-(y_slope*z1);
于 2012-05-31T21:00:50.927 回答