Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Алгоритмы > замкнута ли кривая |
Автор: _hunter 18.5.2005, 19:24 |
Добрый день. Есть такая задача. Мы движемся по некоторой кривой ( но не совсем по кривой, а в пределах некоторого растояния от этой кривой ) Нужно определить пришли ли мы в начало этой кривой. Заранее благодарю за ответ... |
Автор: podval 18.5.2005, 19:53 |
Эту задачу надо решить в принципе или запрограммировать? |
Автор: _hunter 18.5.2005, 22:49 |
мне и алгоритма достаточно будет ( сам как-нить запрограмлю... ) |
Автор: cardinal 18.5.2005, 23:38 |
Ну может достаточно как бы точки кривой красить. Ты идешь вдоль нее (рядом с ней) и если в друг ты не можешь сделать шаг на новую незакрашенную точку (встать рядом со следующей точкой), то значит фильму конец. Ну а первую точку надо покрасить в какой-нибудь другой цвет, чтобы отличать ее от других закрашенных... |
Автор: _hunter 19.5.2005, 11:29 |
проблема в том, что и сама кривая довольно таки большая и растояние до нее. если красить все точки -- всю оперативку забью... |
Автор: De Gray 19.5.2005, 11:36 |
По-пробуй запоминать направление из текущей точки на начальную(вектор), как только вектор повернется на 2*pi -- кривая замкнулась.(Это вроде стандартный способ) |
Автор: _hunter 19.5.2005, 11:38 |
он подходит только для выпуклых кривых... |
Автор: gepard 20.5.2005, 07:52 |
А чём проблема? Есть вершины этой кривой? Когда идёт обработка некоторой вершины, надо смотреть равна ли она по координатам первой. Если да - мы пришли в начало - эта прямая замкнута. Если нет - идём дальше, если конец - не замкнута. |
Автор: val 20.5.2005, 09:59 | ||
Мне кажется, что решение резонно, но только надо будет ввести дельту, если отклонение текущей вершины относительно начальной меньше этой самой дельты, то мы пришли в точку от которой начали движение. Отклонение можно считать как корень из суммы квадратов разностей координат текущей и стартовой вершин. |
Автор: _hunter 20.5.2005, 12:59 |
вершины есть, но обработка пути идет по ребрам. причем отклонение ( или отход... ) от этих ребер вполне может быть больше размеров кривой |