Есть ли алгоритм, который может рассказать вам, какие точки для соединения, чтобы сформировать треугольник, заданный набором точек? Ни одна из соединительных линий не может пересекаться, однако треугольники могут быть внутри других треугольников.Учитывая набор точек, найдите максимальное количество треугольников
ответ
Я не уверен, что это именно то, что вы ищете, но это может иметь некоторую помощь: Graph Theory
Теория графов относится к абстрактной, невизуальной структуре. Хотя это можно сделать, рендеринг не влияет на базовый график. – Craig
Учитывая общий набор точек в R^d
Delaunay triangulation часто является оптимальным выбором для тесселяции.
В частности, триангуляция Делоне будет тесселировать выпуклую оболочку набора точек в набор неперекрывающихся элементов, гарантируя, что радиус наибольшей окружности минимизирован - это означает, что триангуляция является оптимальной в терминах ее " компактность ", или, другими словами, генерируются элементы с хорошим соотношением сторон.
Эффективные алгоритмы построить Делоне триангуляции не являются тривиальными, но есть много хороших библиотек там - я могу рекомендовать Triangle, CGAL или Qhull (для высоких пространственных задач) также JDT, по-видимому реализация в Java, хотя я Он никогда не использовал его.
Я также пытаюсь решить эту проблему. This - это ссылка на ветку github того, кто работает над этим для игры Ingress, поэтому я заинтересован в решении. Однако, насколько мне известно, оптимальное решение обнаруживается с помощью грубой силы (возможно, я ошибаюсь) и имеет другие факторы, которые она максимизирует и сводит к минимуму. Также я думаю, что есть такие вещи, как принятие широты/долготы E6 и проекты на проекцию гномонов для определения кратчайших маршрутов, однако я думаю, что при просмотре кода это может быть уменьшено. Я не думаю, есть ваше решение в этом коде, но это может быть хорошим прыгающим пунктом для вас, меня и всех, кто смотрит на эту проблему.
- 1. Найдите количество конгруэнтных треугольников?
- 2. Учитывая набор точек в 2D и максимальное расстояние, найдите минимум кластеров, где центр является точкой набора
- 3. Максимальное количество треугольников в RenderScript
- 4. Найдите k прямоугольников так, чтобы они охватывали максимальное количество точек.
- 5. Учитывая набор точек данных, найдите тот, который является «ближайшим»
- 6. Учитывая N точек с целыми координатами, найдите количество параллельных линий
- 7. Учитывая набор интервалов, как найти максимальное количество пересечений между ними,
- 8. Учитывая набор, найдите XOR XOR всех подмножеств
- 9. Учитывая набор координатных точек, удалите внутренние точки (или найдите внешнее кольцо точек), чтобы сформировать многоугольник
- 10. Учитывая набор точек, найдите, если какая-либо из трех точек коллинеарна.
- 11. Найти линию, проходящую максимальное количество точек
- 12. Учитывая матрицу, найдите количество строк и столбцов
- 13. Учитывая набор и попарное множество xor, найдите второй набор?
- 14. Найти максимальное количество точек, содержащихся в прямоугольнике с заданной областью
- 15. Учитывая несортированный массив, найдите максимальное вычитание между двумя элементами массива
- 16. Учитывая набор интервалов, найдите минимальное количество точек, которые нужно поместить, чтобы каждый интервал имел в нем точку.
- 17. Учитывая набор точек, найдите тот, который имеет наименьшее расстояние Манхэттена от точки запроса
- 18. Максимальное количество точек, которые может отображать XTK?
- 19. Максимальное количество точек между двумя параллельными линиями
- 20. Двойственность для нахождения Максимальное количество коллинеарных точек в заданной плоскости
- 21. Учитывая набор длины треугольника, найдите треугольник максимальной площади
- 22. Учитывая три числа, два гарантированы равными, найдите различное количество.
- 23. Учитывая набор произвольных точек, как определить геозонность, содержащую эти точки?
- 24. Учитывая набор точек, как рассчитать преобразование подобия (перевод, масштаб, вращение)?
- 25. Учитывая вкладку, найдите ее TabControl
- 26. Формирование треугольников из точек и отношений
- 27. Максимальное распространение нескольких точек
- 28. Уменьшить количество точек в строке
- 29. При заданном наборе координат найдите максимальное расстояние (используя этапы)
- 30. Рисунок треугольников после вычисления точек в GLSL
Вы можете попробовать что-то, что выбирает ближайшую точку к краю набора данных, затем создает треугольник в двух ближайших точках, а затем повторяется. Это должно гарантировать, что в каких-либо созданных треугольника не будет смысла. – Craig