开发者

Find the third point

开发者 https://www.devze.com 2023-01-27 13:03 出处:网络
I have 2 points P1 and P2. I need to find the P3, in order that all points to be on the same line; P3 should be at the distance d from the P2 (away from P1)

I have 2 points P1 and P2. I need to find the P3, in order that

  • all points to be on the same line;
  • P3 should be at the distance d from the P2 (away from P1)

I started a complicated system apparently hardly to resolve...

Find the third point

P开发者_JS百科S.

Vectorial answers is cool, but I use C# and don't know how to add vectors over there.


P3 = P2 + d * ±(P2 - P1) / |P2 - P1|

EDIT:

Because shopping is easy:

mag = sqrt((P2x - P1x) ** 2 + (P2y - P1y) ** 2)
P3x = P2x + d * (P2x - P1x) / mag
P3y = P2y + d * (P2y - P1y) / mag


I have translated the code to 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);
0

精彩评论

暂无评论...
验证码 换一张
取 消