在c#中找到2点和距离的未知点(x,y)

时间:2014-09-02 10:17:16

标签: c# c#-4.0 math algebra

我只是说明问题并描述我的问题。 给定一个与轴平行的的正方形!

我有(x1,y1)和(x2,y2)和它们之间的距离dx(正方形的宽度/高度) 我需要找到照片中描述的点(x,y) (不能上传照片) 链接到图片:the problem photo

首先我尝试了等式(x-x1)^ 2 +(y-y1)^ 2 = dx ^ 2                             (x-x2(^ 2 +(y-y2)^ 2 = 2 dx ^ 2 但是当我尝试编码时,我无法解决这个问题,

任何人都有任何想法如何解决代码或其他方程或解决方案中的问题以找到重点?。

*我使用c#4,0

2 个答案:

答案 0 :(得分:2)

很简单。

var dx = x2 - x1;
var dy = y2 - y1;

var rotatedDx = dy;
var rotatedDy = -dx;

x = x1 + rotatedDx;
y = y1 + rotatedDy;

基本上,你计算向量P1 - > P2并将其旋转90度。

答案 1 :(得分:1)

您可以通过表示Argand图上的点来使用复数来解决它。 (我认为)

由于它是一个正方形,两边相等,相隔90度,你可以做到这一点。 (参见保管箱图片)

https://www.dropbox.com/s/ymimimgkuzhkcub/IMAG3818.jpg?dl=0

A是点(x1,y1),其值为x1 +(y1)i B是x2 +(y2)i P和Q是2个可能位置(x,y)的位置,它们是x + yi。解决图片中的2个等式,得出x和y的值。