“给定(一条线上的两个点)和(第三点到第一点的距离),如何找到第三点?”
语言:Visual Basic (2012)
第三点与第二点在同一条线上,并且可能更接近第一点,也可能更接近第二点。这是一个可以处理两者(来自数据数组)的函数。
奇怪的是,我似乎无法理解这个问题的距离部分。在阅读了许多有关从其他点查找点的其他问题时,我无法找到足够清晰的内容来使我能够进行逆向工程以包含距离参数。
我需要能够使用距离来找到一个点。我正在编写的函数基本上是更高级的形式:
Function GetThirdPoint(CenterPoint As Point, SecondPoint As Point, Range As Integer)
Return [Equations here] 'Return third point
End Function
第一个点坐标为 P1=(x1,y1),第二个点 P2=(x2,y2)。
那么 P1P2 向量的长度是(使用Math.Hypot
功能(如果可用)
Len = Sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1))
归一化(单位长度)方向向量为
dx = (x2-x1) / Len
dy = (y2-y1) / Len
当 P1P3 和 P1P2 向量具有相同方向时的 P3 坐标:
x3 = x1 + Distance * dx
y3 = y1 + Distance * dy
对于相反方向:
x3 = x1 - Distance * dx
y3 = y1 - Distance * dy
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)