2013-04-04 2 views
1

Я ищу алгоритм обнаружения простых фигур как прямоугольников, треугольников, квадратов и кругов из заданного набора точек (x, y). Я также ищу способ, как только обнаружено, преобразовать путь к более чистой форме.2D Алгоритм распознавания и разрешения формы

Я закрепил Интернет, но не нашел никаких «простых» подходов. Почти все они - путь к продвижению для моей простой реализации.

Заранее спасибо.

+2

Я не думаю, что это простая проблема. В большинстве приложений, вероятно, потребуется выполнить «нечеткое» совпадение, поскольку точки предназначены для представления простого многоугольника с несколькими ребрами, но фактические точки не попадают точно по прямым линиям. Если вы ищете простое решение, лучше всего использовать библиотеку, которую кто-то еще уже реализовал. – mbeckish

ответ

2

При обнаружении:

Там нет, скорее всего, не простых общих подходов к классификации любого набора точек в форму. Тем не менее, есть несколько основных функций, которые вы, вероятно, могли бы построить, будут полезны для классификации многих фигур. Например:

  1. ли или нет точки образует прямую линию
  2. ли или нет точки образует выпуклый/вогнутый многоугольник (полезно для дисквалифицирующего точка из сопоставления определенных форм)
  3. Нахождения центра точек и найти расстояние до центра от каждой точки
  4. ли не две точки имеют общую ось

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

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