2017-01-10 12 views
0

Это то, что человеческий ребенок может сделать, но мне нужен компьютер, чтобы сделать это: DКак найти наименьшую точку P (x, y), содержащую треугольник из связки точек?

Угадай вас есть точка Р (х, у) и у вас есть массив точек A = [P1, P2, P3, …]

Что я в принципе нужно, чтобы получить это 3 балла, что

  • образуют треугольник, который окружает P
  • форму из тех, которые окружают P наименьший треугольник возможного

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

Я думаю, что это было сделано до этого и является одним из тех

Я должен добавить, что если два треугольника достаточно близки по размеру, то любое из них будет хорошим решением, поэтому в этом случае более быстрое решение будет лучшим.

+1

Возможный дубликат http://stackoverflow.com/questions/4229454/algorithm-to-find-the-closest-3-points-that-when-triangulated-cover-another-poin – volatilevar

+1

Является ли область треугольника хорошей количество, чтобы определить «самый маленький» треугольник? При этом условии плоский треугольник с очень длинными краями является «лучшим» треугольником, чем равносторонний треугольник. Площадь описанного треугольника, по-видимому, является лучшим способом определения «малого» треугольника, и таким образом Триангуляция Делоне является оптимальной. – RaymoAisla

+0

@ RaymoAisla: не могли бы вы объяснить? Для меня самый маленький треугольник - это треугольник с наименьшим размером. – rhavin

ответ

2

Постройте Delaunay triangulation для заданного набора точек и найдите треугольник, содержащий точку.

Возможно, это не самый оптимальный треугольник, но алгоритм хорошо известен и быстр.

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

  • Нет связанных вопросов^_^