|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.11.2011, 17:29 | #1 |
Регистрация: 10.11.2011
Сообщений: 4
|
Нахождение углов произвольного многоугольника.
Суть задачи состоит в нахождение углов произвольного n-угольника, известны координаты вершин и порядок их соединения. Вообще задача сводиться к построению облака вокруг многоугольника, но для того чтобы это облако нормально выглядело необходимо вычислить углы фигуры вокруг которой оно строиться. Единственное решение которое я нашел это вычисление угла по скалярному произведению и определение внутренний он или внешний с помощью выбора произвольной точки в направлении сторон образующих данный угол. Задаю данный вопрос в данном разделе, так как не нашел раздела алгоритмы.
|
10.11.2011, 21:12 | #2 |
Форумчанин
Регистрация: 02.06.2011
Сообщений: 282
|
ну так и находи, в чем проблема то? или код писать лень?
вряд ли кто то захочет брать калькулятор и сидеть тыкать координаты и тп. |
11.11.2011, 02:14 | #3 | |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
Цитата:
Форматируйте код, будьте людьми.
|
|
11.11.2011, 10:44 | #4 |
Регистрация: 10.11.2011
Сообщений: 4
|
Проблема в том что алгоритм затратный, а должен работать на гигогерцовом процессоре (iPad), помимо того что там выполняется еще куча всяких вычислений. Мне не лень, просто хотелось бы быстрый алгоритм, а то ради одного облака тратить столько ресурсов.
|
11.11.2011, 12:24 | #5 |
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Затратный? Считаем векторы сторон (вычитания, 2n), считаем скалярные произведения (произведения, 2n), считаем длины и делим (делений, 2n).
Подсчёт длин можно ускорить за счёт точности (классический пример). |
11.11.2011, 15:02 | #6 |
Регистрация: 10.11.2011
Сообщений: 4
|
Просто такой алгоритм не должен занимать как можно меньше ресурсов, так как отрисовка должна быть как можно быстрее, и процессорные ресурсы должны расходоваться как можно меньше, просто должен быть более простой и быстрый алгоритм, и хотелось бы чтобы у него было постоянное время счета.Кстати, можно как-то использовать для этого векторное произведение? Так как правило обхода по полигону известно.
|
11.11.2011, 15:20 | #7 | ||
Старожил
Регистрация: 25.10.2011
Сообщений: 3,178
|
Цитата:
Цитата:
|
||
16.11.2011, 18:31 | #8 |
Регистрация: 10.11.2011
Сообщений: 4
|
Нашел проблемму в использовании алгоритма определения принадлежности точки полигону построив облако. Если у нас полигон самопересекующейся то для углов находящихся в пересечении нужно брать результат проверки противоположный, для корректности хотелось бы определить углы этого пересечения. В атачменте можите увидеть что получилось в черновом варианте.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нахождение расстояний и углов (начертательная геометрия) | alex(21) | Помощь студентам | 9 | 28.02.2016 16:39 |
Рисование многоугольника в C# | vandrouny | C# (си шарп) | 3 | 11.10.2010 23:30 |
поворот многоугольника в паскале | Belii09878 | Помощь студентам | 3 | 25.06.2010 16:20 |
Нахождение обратной матрицы произвольного размера | Widow Maker | Помощь студентам | 0 | 10.05.2009 12:09 |
Определение площади многоугольника | Bayazet | Помощь студентам | 5 | 17.02.2009 12:48 |