Пусть задано дискретное множество точек на плоскости и надо найти точку наиболее близкую к ним.
В качестве критерия близости будем рассматривать некоторую норму вектора отклонений.
Def<Vector2d> getNearPoint1 ( CArrRef<Vector2d> point, double eps = 0 ); Для 2-нормы оптимальной точкой будет среднее арифметическое данных точек ( центр масс ): Def<Vector2d> getNearPoint2 ( CArrRef<Vector2d> point );
Для бесконечной нормы оптимальной точкой будет центр минимальной охватывающей окружности: Def<Vector2d> getNearPointU ( CArrRef<Vector2d> point ); Примеры использования этих функций можно посмотреть в приложении DEMO. Описание шаблона классов CArrRef находится здесь.
Исходники находятся в approx2d.cpp Наверх |