Простой математический алгоритм: центральная точка линии

У меня есть следующий алгоритм поиска центра линии (середины).

public DoublePoint getMidPoint() {
    return new DoublePoint((origin.x + endPoint.x) / 2, (origin.y + endPoint.y) / 2);
}

Кажется, работает для любых значений. Но я, кажется, помню гораздо более сложный алгоритм, включающий два круга, радиус которых равен длине линии, а центральные точки - концы линии. Линия, проведенная от пересечения этих кругов, будет пересекать сегмент линии, который вы тестируете, давая среднюю точку линии. Я точно знаю, что алгоритм работает 100% времени. Не уверен в моем более простом алгоритме, который кажется слишком простым.

5
задан William the Coderer 11 November 2011 в 06:19
поделиться