沿着两个其他点之间的假想线找到一个点

时间:2014-06-03 16:54:41

标签: math geometry line

我在游戏中工作,我遇到了问题。我希望有人帮助我:

屏幕上有3个指定点

P0,P1,P2

P3 =我们需要找到的目标点(X3和Y3),如果我们有P1和P2位置。


我们提供了哪些信息:

1-P0位置(X,Y)已知。

2- P0和P1之间的距离已知

3- P0和P2之间的距离已知

4 - 红线和蓝线之间的角度已知

如何找到P1和P2的位置(x1,y1和x2,y2)?

第二个问题更重要:

2-如果我有P1和P2的位置,我怎样才能发现假想线上的P3通过P1和P2,P2之间的距离是一个特定的数字? (本例中为40)

3 个答案:

答案 0 :(得分:1)

你可以通过一点矢量运算来解决第二个问题 矢量P1-> P2的长度是

d = sqrt((x2-x1)^2 + (y2-y1)^2)

因此,P1-> P2方向上的单位矢量

((x2-x1)/d, (y2-y1)/d)

将此乘以40得到P2-> P3

(40*(x2-x1)/d, 40*(y2-y1)/d)

最后,将P2-> P3添加到P2以获得P3

(x2 + 40*(x2-x1)/d, y2 + 40*(y2-y1)/d)

答案 1 :(得分:0)

如果第2部分有P1和P2:段P1P2与由θ= tan((P2.y-P1.y)/(P2.x-P1.x))给出的地平线形成一个角度,P3然后是(40 * cos(θ),40 * sin(θ))相对于P2(所以认为它是与P2的偏移)。

答案 2 :(得分:0)

您无法解决问题的第1部分。有一个已知的点P0和到未知点P1的距离。但是要计算P1的坐标,我们需要距离线1(蓝色)与x轴或y轴的角度。其他距离线(Dist2,红色)与另一个未知点(P2)之间只有一个角度。

因此,如果您有两个点之间的距离并且给出了一个点,则需要这两个点的距离线显示方向的信息。因此,您需要一个带x或y轴的角度。

这可转移到3-D Space。给出一点和另一点的距离。但在3-D中,我们需要两个角度来描述未知点的方向。在二维中,您有一个直角三角形来计算未知点的坐标。在三维中有两个直角三角形,很难画或想象。但是如果你使用三角形而不是矢量算术(参见Bens答案第2部分),你就可以在不学习矢量算术的情况下解决类似的问题。
也许你可以将矢量算术减少为三角形。