我有struct
这些值:
struct Point {
public float x;
public float y;
}
我有这个结构的三个变量point1
,point2
和point3
。
我需要计算point4
的位置,而我所拥有的只是point4
与这些点的距离。
是否可以仅通过距离的其他三个点的位置来计算点的位置?
答案 0 :(得分:4)
当然可能。这是简单的几何形状。
点P1
。距离d
的某处是P4
。
2D中的几何形状定义了距离另一个点给定距离的所有点?是的,一个圆圈。让我们绘制一个以P1
为中心的圆,其半径等于P1
和P4
之间的距离。
现在选择P2
并对适当的距离做同样的事情。现在,会发生什么?嗯,有两种可能性:
P1
和P2
周围的圈子不相交:问题无法解决,您已完成。
P1
和P2
周围的圈子有一个(相切)或两个交叉点。
现在取第三个点P3
并再次绘制一个适当半径的圆圈。有两件事可能再次发生:
P4
。现在解决代码的算法很明确,你只需要实现它。考虑创建表示点和圆的类型以及与圆相交的方法:
class Point
{
public double X { get; }
public double Y { get; }
...
}
class Circle
{
public Point Center { get; }
public double Radius { get; }
....
public static IEnumerable<Point> Interstect(Circle first, Circle second) { ... }
}
如果您编写了某些内容并偶然发现了难以逾越的赔率,您可以在此处发布另一个问题,寻求帮助解决您可能遇到的更精确定义的问题。没有人会为你编写你的(家庭)工作代码。
我注意到解决方案在数学上并不是微不足道的,但是如果你不能解决数学问题,那么你就没有尝试编写解决方案的业务。