|
Вопрос по алгоритму определения границы кривой, Возник сложный вопрос и нигде не могу найти ответ! |
|
|
|
Mar 20 2009, 09:54
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Добрый день! Помоги пожалуйста, или хотя бы посоветуйте! Мне стоит задача придумать алгоритм, с помощью которого можно определить только внешнюю границу любой кривой линии, любой любой, и только внешнюю. Внутрь заходить не должны. В наличии только координыты точек исходной кривой! Я сам придумал с нуля четыре алгаритма, все по своему хороши, но меняется какое-то уовие и они подвисают. Посоветуйте что-нибудь, хотя бы где почитать. Буду рад любому ответу! Заранее спасибо! Замечание модератора. Заголовок темы следует давать осмысленный, как того требует п.2.1в Правил форума. Отредактировал. rezident.
|
|
|
|
|
 |
Ответов
|
Mar 21 2009, 08:54
|

Профессионал
    
Группа: Свой
Сообщений: 1 724
Регистрация: 1-05-05
Из: Нью Крыжопыль
Пользователь №: 4 641

|
Вся исследуемая площадь устанавливается, исходя из максимальных и минимальных координат имеющихся точек и, исходя из нужной точности, представляется в виде двухкоординатной равномерной сетки. По трем соседним точкам восстанавливается треугольник. Координаты всех его вершин известны. Определяется его площадь. Если она не равна 0, то точки не лежат на прямой - и можно определить, какие точки сетки попадают в него, а какие - нет. В матрицу точек сетки записываем признак попадания-непопадания. Берем следующий треугольник, модифицируем матрицу. Остановка процесса по исчерпанию количества точек кривой. Значения признаков в матрице, "окруженные" признаками противоположного значения, инвертируются. Впрочем, наверное, это сложно для вас. Бросьте это безнадёжное дело.
|
|
|
|
|
Mar 21 2009, 09:04
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(zzzzzzzz @ Mar 21 2009, 13:54)  Впрочем, наверное, это сложно для вас. Бросьте это безнадёжное дело.  Не надо оскарблять. Я тоже могу. Во-вторых это может не пракатить! Три соседнии точки которые вы говорите могут быть в начале и конце массива координат. В - третьих я говорю. Точки может не быть, а прямая линия там проходить будет и ваш алгоритм просто её не заметит. Уже так нагревался. Обратите внимание на рисуночек. Это не просто графика. Это работа с координатами GPS. Я уже сделал четыре программы на векторном анализе. НЕ знаю на сколько это сложно для вас? Но при определённых условия анализ не проходит. И ваш метод при большом треке, например Москва - Владивосток, просто не прокатит. Памяти не хватит!
|
|
|
|
|
Mar 21 2009, 09:23
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(zzzzzzzz @ Mar 21 2009, 14:06)  Это не "оскарбление", а чистая констатация факта - вы не можете даже условия задачи сформулировать нормально. И, судя по аргументации, эту задачу не сможете решить ближайшие несколько лет  . Хотя, удачи вам, конечно. Я же Вашими способностями умственными не интересуюсь. Мне нужен совет,а не Ваши шуточки. А решения же четыре есть, за неделю! И ещё прочитай внимательнее , что я написал. Там указана вся специфичность задачи.
Причина редактирования: Излишнее цитирование.
Эскизы прикрепленных изображений
|
|
|
|
|
Mar 21 2009, 09:23
|
Местный
  
Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782

|
Цитата(Prinz @ Mar 21 2009, 12:16)  Я же Вашими способностями умственными не интересуюсь. Мне нужен совет! Речь не идет ни о чьих способностях, ни умственных. ни о каких других. От Вас хотят допытаться нормальной формулировки Вашей задачи.
|
|
|
|
|
Mar 21 2009, 09:28
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(VladimirYU @ Mar 21 2009, 14:23)  Речь не идет ни о чьих способностях, ни умственных. ни о каких других. От Вас хотят допытаться нормальной формулировки Вашей задачи. Спросите меня пожалуйста, что конкретно Вам не понятно, я постараюсь это место подробнеее описать. Дан файл .plt. Из наго я считываю координаты по порядку движения по кривой. При движении по прямой, точки идут очен редко и это очень плохо. Из-за этого случаются сбои. При изменении направления точки идут часто и тут всё хорошо! Мне интереснее, как отфильтровать внутрении точки кривой. Что мне ещё указать во втором приведённом рисунке?
|
|
|
|
|
Mar 21 2009, 09:32
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Попробую протелепатить... Вот (возможно, неверная и неполная) постановка задачи и примерное решение.
Дано: 1. На плоскости отрезками прямой задана ломаная линия. 2. Начало каждого следующего отрезка совпадает с концом предыдущего 3. Ломаная линия не обязательно должна быть замкнутой, т.е. точка начала первого отрезка может не совпадать с конечной точкой последнего отрезка 4. Отрезки, составляющие ломаную линию, могут пересекать друг друга 5. Ломаная линия, возможно, делит плоскость на несколько областей; области ограниченные ломаной кривой - внутренние, не ограниченная - внешняя (она одна)
Найти: Все (одну или несколько, а, может быть, и не одной - в случаи, если ломаная не ограничила ни одну область) ломаных линий, являющимися границами между внешней областью и внутренними.
Решение: 1. Попарно находятся пересекающиеся отрезки ломаной, и в точках пересечения разбиваются каждый на два отрезка. 2 Находим все замкнутые участки ломаной (это будут границы внутренних областей) 3. Попарно проверяются внутренние области, ограниченные этими замкнутыми участками ломаной на предмет вхождения одной области в другую; если область входит в другую, то ломаная - граница области исключается (удаляется) 4 Оставшиеся ломаные – решение
|
|
|
|
|
Mar 21 2009, 09:55
|
Частый гость
 
Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121

|
Цитата(Палыч @ Mar 21 2009, 14:32)  Решение: 1. Попарно находятся пересекающиеся отрезки ломаной, и в точках пересечения разбиваются каждый на два отрезка. 2 Находим все замкнутые участки ломаной (это будут границы внутренних областей) 3. Попарно проверяются внутренние области, ограниченные этими замкнутыми участками ломаной на предмет вхождения одной области в другую; если область входит в другую, то ломаная - граница области исключается (удаляется) 4 Оставшиеся ломаные – решение Спасибо большое. Ваш алгоритм мне кажется из приведённых наиболее приевлимым. Я делал так. Я сам строил вектор под определённым углом, и определял его персечение с отрезками, но оказалось, что для этого софта нужен был супер компутер! 10 ядерный минимум. Следующую версию программы я буду опираться на Ваш совет. Большое спасибо. Кто ещё что посоветует? А кто посоветует книжечку??? Даже с графикой связанную, с примерно такой же задачей.
Причина редактирования: Излишнее цитирование.
|
|
|
|
Сообщений в этой теме
Prinz Вопрос по алгоритму определения границы кривой Mar 20 2009, 09:54 Rst7 Кривая замкнута, как я понимаю? Mar 20 2009, 10:11 Prinz Цитата(Rst7 @ Mar 20 2009, 15:11) Кривая ... Mar 20 2009, 10:29 VladimirYU Цитата(Prinz @ Mar 20 2009, 12:54) Мне ст... Mar 20 2009, 10:12 Rst7 И что значит, определить внешнюю границу? Продемон... Mar 20 2009, 10:14 Палыч Цитата(Prinz @ Mar 20 2009, 12:54) Мне ст... Mar 20 2009, 13:01 xemul Скорее всего, более общая постановка задачи: опред... Mar 20 2009, 14:11 DpInRock Рисуем касательную в конкретной точке. Дальше поло... Mar 20 2009, 18:10 Prinz Вот, как это должно выглядить!
Вчера никак не ... Mar 21 2009, 08:27 Палыч Цитата(Prinz @ Mar 21 2009, 11:20) Вот, к... Mar 21 2009, 08:29 Prinz А кто-нибудь знаком с файлом фомата .plt для OziEx... Mar 21 2009, 08:53        Палыч Цитата(Prinz @ Mar 21 2009, 12:45) Спасиб... Mar 21 2009, 10:00    Ledmaster Цитата(Prinz @ Mar 21 2009, 14:23) Там ук... Mar 21 2009, 10:11     Prinz Цитата(Ledmaster @ Mar 21 2009, 15:11) С ... Mar 22 2009, 10:00      Палыч Цитата(Prinz @ Mar 22 2009, 13:00) А что ... Mar 22 2009, 11:02  zzzzzzzz Цитата(Prinz @ Mar 21 2009, 12:04) И ваш ... Mar 22 2009, 11:46 Artem_Petrik По моему, то, что у вас точки соединены линиями вс... Mar 22 2009, 10:36 Prinz Цитата(Artem_Petrik @ Mar 22 2009, 15:36)... Mar 22 2009, 13:52  blackfin Цитата(Prinz @ Mar 22 2009, 16:52) Нет, т... Mar 22 2009, 14:16 Goodefine Цитата(Prinz @ Mar 21 2009, 12:28) ...При... Mar 22 2009, 11:36 Prinz Сегодня попробовал написать алгоритм по совету.
НА... Mar 23 2009, 11:40 blackfin Цитата(Prinz @ Mar 23 2009, 14:40) Сегодн... Mar 23 2009, 11:46  Prinz Цитата(blackfin @ Mar 23 2009, 16:46) А ч... Mar 31 2009, 12:01   Палыч Цитата(Prinz @ Mar 31 2009, 15:01) Я Вам ... Mar 31 2009, 14:45    Палыч Цитата(Палыч @ Mar 31 2009, 17:45) Надеюс... Apr 1 2009, 08:53   Ledmaster Цитата(Prinz @ Mar 31 2009, 18:01) Вот, к... Mar 31 2009, 19:38 Палыч Цитата(Prinz @ Mar 23 2009, 14:40) А кто-... Mar 23 2009, 11:52 _Pasha Цитата(Prinz @ Mar 23 2009, 14:40) Нисего... Mar 23 2009, 12:22 Ledmaster Цитата(Prinz @ Mar 23 2009, 16:40) Нисего... Mar 23 2009, 17:38 Prinz Задачу решил подностью.
Всё с помощью тогоже битма... Apr 8 2009, 11:02 zzzzzzzz Опять "тень на плетень" навели, - област... Apr 8 2009, 11:34 Prinz Цитата(zzzzzzzz @ Apr 8 2009, 16:34) Опят... Apr 21 2009, 07:32
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|