Алгоритм триангуляции многоугольника и нахождение его центра тяжести
Помогите пожалуйста кто сталкивался с такой задачей:
есть многоугольник(набор координат) необходимо получить точку внутри него(там будет появляться окно с описанием). Почитав немного информации на http://algolist.manual.ru (Илья, спасибо вам за сайт и авторам за хорошие статьи) решил написать алгоритм, результат во вложении. Проблема в том, что фиолетовая точка (рассчитанный центр тяжести всей фигуры) не лежит внутри многоугольника. Кто-нибудь реализовывал этот алгоритм? Можно было бы сравнить... скриншот результата |
Не очень понял Ваш алгоритм... Какова суть этой "триангуляции"? Многоугольник разбивается на составляющие его треугольники, у каждого из них ищется ц.м. (точка пересечения медиан), а дальше-то что?
надо последовательно соединять центры масс соседних треугольников и на пересечении этих прямых будет лежать их общий ц.м.? а затем последовательно перекомбинируя, ищем ц.м. уже для группы полученных многоугольников?.. Не знаю, поможет ли Вам это - но погуглив, нашёл вот такой алгоритм: http://www.mgopu.ru/PVU/2.1/Recurs/B...4/cnt_polg.htm |
Часовой пояс GMT +3, время: 03:38. |