1

Предположим, что у вас есть произвольная замкнутая кривая (конечная точка возвращается относительно близко к первой точке), генерируемая через совокупность координат набора данных, как вы находите центральную точку и границы полученной формы?Поиск центральной точки и границ произвольной замкнутой кривой (случайное блуждание)

ответ

3

Есть две возможные интерпретации (возможно, более) для вашего вопроса.

Первый уже был затронут @AakashM, и мы можем изобразить его в следующем сюжете:
alt text

Где красный квадрат является «граница».
Я приведу @AakashM здесь, потому что я понимаю его замечание ОЧЕНЬ важное: "(Я отмечаю, что для вас, чтобы иметь замкнутую кривую, вам нужно, чтобы конечная точка была не просто« близка к », но совпадала с первой точка)»

Что касается центральной точки, то есть по крайней мере две„естественные пути“для его расчета с этого определения:

  1. Centerpoint = средняя точка Красной площади
  2. Centerpoint = {Среднее x координат вашей кривой, Среднее y координат вашей кривой}

Оба они могут служить центральной точкой, но результаты будут разными.

Другой способ решения проблемы заключается в нахождении Convex Hull вашей кривой, как показано ниже:

alt text

Если вы Google для этого, вы найдете алгоритмы для нахождения выпуклой оболочки, симпатичный представление here.

Опять же, у вас есть два «естественные пути для вычисления центральной точки:

  1. Centerpoint = {среднего х координат вашего кривого, среднего у координат вашего кривого}
  2. Centerpoint = {средних х координаты точек СН, среднее у координат точек CH}

НТН!

2

(Хочу отметить, что для вас, чтобы иметь закрыло кривых, необходимо конечная точка, чтобы быть не просто «рядом с», но совпадает с первой точкой)

Если под «центральной точкой» вы средний центр массы, и вы принимаете однородную плотность, то this question имеет то, что вы хотите.

Если по «границам» вы имеете в виду ограничивающий прямоугольник со сторонами, параллельными осям, вам понадобятся минимальные и максимальные значения x и y на кривой.

Если какой-либо из тех, кто не то, что вы имеете в виду, скажите, пожалуйста ...

0

для границ, вы можете обратиться к ответам @belisarius и @AakashM.

Что касается центральной точки, вы хотите «центр масс». Good 'ol Wikipedia имеет объяснения и рецепты по адресу http://en.wikipedia.org/wiki/Center_of_mass и http://en.wikipedia.org/wiki/Centroid.

В общем, вы получаете другой результат, вычисляющий центроид, чем вычисление среднего числа вершин. Это различие будет выражено, если вершины распределены неравномерно.

Смежные вопросы