Find the third point

拟墨画扇 提交于 2019-12-10 14:52:09

问题


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...

PS.

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


回答1:


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



回答2:


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);


来源:https://stackoverflow.com/questions/4280805/find-the-third-point

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!