Предположим, что у вас есть произвольная замкнутая кривая (конечная точка возвращается относительно близко к первой точке), генерируемая через совокупность координат набора данных, как вы находите центральную точку и границы полученной формы?Поиск центральной точки и границ произвольной замкнутой кривой (случайное блуждание)
ответ
Есть две возможные интерпретации (возможно, более) для вашего вопроса.
Первый уже был затронут @AakashM, и мы можем изобразить его в следующем сюжете:
Где красный квадрат является «граница».
Я приведу @AakashM здесь, потому что я понимаю его замечание ОЧЕНЬ важное: "(Я отмечаю, что для вас, чтобы иметь замкнутую кривую, вам нужно, чтобы конечная точка была не просто« близка к », но совпадала с первой точка)»
Что касается центральной точки, то есть по крайней мере две„естественные пути“для его расчета с этого определения:
- Centerpoint = средняя точка Красной площади
- Centerpoint = {Среднее x координат вашей кривой, Среднее y координат вашей кривой}
Оба они могут служить центральной точкой, но результаты будут разными.
Другой способ решения проблемы заключается в нахождении Convex Hull вашей кривой, как показано ниже:
Если вы Google для этого, вы найдете алгоритмы для нахождения выпуклой оболочки, симпатичный представление here.
Опять же, у вас есть два «естественные пути для вычисления центральной точки:
- Centerpoint = {среднего х координат вашего кривого, среднего у координат вашего кривого}
- Centerpoint = {средних х координаты точек СН, среднее у координат точек CH}
НТН!
(Хочу отметить, что для вас, чтобы иметь закрыло кривых, необходимо конечная точка, чтобы быть не просто «рядом с», но совпадает с первой точкой)
Если под «центральной точкой» вы средний центр массы, и вы принимаете однородную плотность, то this question имеет то, что вы хотите.
Если по «границам» вы имеете в виду ограничивающий прямоугольник со сторонами, параллельными осям, вам понадобятся минимальные и максимальные значения x и y на кривой.
Если какой-либо из тех, кто не то, что вы имеете в виду, скажите, пожалуйста ...
для границ, вы можете обратиться к ответам @belisarius и @AakashM.
Что касается центральной точки, вы хотите «центр масс». Good 'ol Wikipedia имеет объяснения и рецепты по адресу http://en.wikipedia.org/wiki/Center_of_mass и http://en.wikipedia.org/wiki/Centroid.
В общем, вы получаете другой результат, вычисляющий центроид, чем вычисление среднего числа вершин. Это различие будет выражено, если вершины распределены неравномерно.
- 1. Поиск центральной точки города
- 2. Случайное блуждание через 10x10?
- 3. curveTo поиск кривой точки динамически
- 4. [iOS Objective C] Перетащите кривую Безье из точки на замкнутой кривой кривой Безье
- 5. Алгоритм для заполнения замкнутой 2D-кривой
- 6. Плоская петля, стирая случайное блуждание (matlab)
- 7. Как включить счетчик шагов в случайное блуждание?
- 8. Вращение точки вокруг центральной точки
- 9. Найти точки касания на кривой из заданной пользователем точки вне кривой
- 10. Перемещение центральной точки UIImageViews
- 11. Построение набора заданных точек для формирования замкнутой кривой в matplotlib
- 12. Как найти (x, y) координаты точки q на замкнутой 2D-кривой Безье, ближайшей к координатам (x, y) некоторой произвольной точки p?
- 13. Поиск вершины кривой Безье
- 14. Поиск координат кривой Коха
- 15. Алгоритм для вычисления площади замкнутой кривой с отверстиями
- 16. Использование преобразования и масштабирования из центральной точки
- 17. jQuery и анимация вокруг центральной точки
- 18. Поиск геолокации центральной точки между двумя известными местоположениями
- 19. Нанесение кривой ROC из произвольной классификации леса
- 20. Анимация точки кривой Безье
- 21. 2d случайное блуждание в python - рисунок гипотенузы из дистрибутива
- 22. Масштабирование векторов из центральной точки?
- 23. pygame вращение вокруг центральной точки
- 24. Объект орбиты вокруг центральной точки
- 25. Изменение центральной точки увеличения/выхода
- 26. Анимация точки кривой Безье
- 27. Резервирование без центральной контрольной точки?
- 28. Распределение фигур из центральной точки
- 29. Укажите ошибку в этой программе, которая генерирует «случайное блуждание»
- 30. MapView - изменить координаты центральной точки