简单的数学算法:一条线的中心点

Wil*_*rer 5 algorithm math point line

我有一个算法如下找到一条线的中心(中点).

public DoublePoint getMidPoint() {
    return new DoublePoint((origin.x + endPoint.x) / 2, (origin.y + endPoint.y) / 2);
}
Run Code Online (Sandbox Code Playgroud)

它似乎适用于任何价值观.但我似乎记得一个更复杂的算法,涉及两个圆,其半径等于线的长度,其中心点是线的末端.从这些圆的交点绘制的线将与您正在测试的线段相交,从而得到线的中点.我确信算法可以100%的时间运行.不确定我的简单算法看起来简单了.

and*_*and 14

你要记住的是一种仅使用罗盘和直尺构造线段垂直平分线的几何方法.例如,考虑一下:

在此输入图像描述

这对古希腊人来说很好,但还有其他方法(例如你编码的方法)对计算机有效.