Я пытаюсь реализовать алгоритм обрезки уха в программе, но у меня возникают проблемы. Хотя я могу заставить его работать во многих ситуациях, я не нашел хорошего способа проверить рефлекторные углы.Получить угол для обрезания уха
Я искал пути - каждый метод, который я пробовал на сегодняшний день, кажется, имеет угол, за который он не будет работать. Когда я пытаюсь найти больше информации, большинство уроков/работы большинства людей просто скажут мне «найти рефлекторный угол и тест для уха», а затем описать, как тестировать ухо, но не как получить рефлекторный угол.
Может ли кто-нибудь сказать мне, как получить правильный угол внутри треугольника для вогнутого многоугольника или указать мне в правильном направлении? Может быть, проблема со мной. Благодарю.
Это достаточно просто, чтобы получить угол с каждой стороны с помощью atan2. Все, что вам нужно сделать, чтобы найти рефлекторные углы, - это выяснить, с какой стороны стороны находится полигон внутри. – user2357112
У меня это уже есть, как найти треугольник внутри полигона, учитывая, что он может быть вогнутым и иметь форму, например, C или S? – Charles
Итерации над рефлекторными вершинами многоугольника и проверьте, находятся ли они в треугольнике. (Вам не нужно знать, верят ли верхушки верхушки.) – user2357112