我有2分P1
和P2
。我需要找到P3
,以便
P3
应与d
(远离P2
)P1
我开始了一个复杂的系统,显然很难解决......
PS。
矢量答案很酷,但我使用C#而不知道如何在那里添加矢量。
答案 0 :(得分:5)
P3 = P2 + d * ±(P2 - P1) / |P2 - P1|
修改强>
因为购物很容易:
mag = sqrt((P2x - P1x) ** 2 + (P2y - P1y) ** 2)
P3x = P2x + d * (P2x - P1x) / mag
P3y = P2y + d * (P2y - P1y) / mag
答案 1 :(得分:2)
我已将代码翻译为Objective C
float distanceFromPx2toP3 = 1300.0;
float mag = sqrt(pow((px2.x - px1.x),2) + pow((px2.y - px1.y),2));
float P3x = px2.x + distanceFromPx2toP3 * (px2.x - px1.x) / mag;
float P3y = px2.y + distanceFromPx2toP3 * (px2.y - px1.y) / mag;
CGPoint P3 = CGPointMake(P3x, P3y);