реклама на сайте
подробности

 
 
> Вопрос по алгоритму определения границы кривой, Возник сложный вопрос и нигде не могу найти ответ!
Prinz
сообщение Mar 20 2009, 09:54
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121



Добрый день!
Помоги пожалуйста, или хотя бы посоветуйте!
Мне стоит задача придумать алгоритм, с помощью которого можно определить только внешнюю границу любой кривой линии, любой любой, и только внешнюю. Внутрь заходить не должны.
В наличии только координыты точек исходной кривой!
Я сам придумал с нуля четыре алгаритма, все по своему хороши, но меняется какое-то уовие и они подвисают.
Посоветуйте что-нибудь, хотя бы где почитать.
Буду рад любому ответу!
Заранее спасибо!
smile.gif


Замечание модератора. Заголовок темы следует давать осмысленный, как того требует п.2.1в Правил форума. Отредактировал.
rezident.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Prinz
сообщение Mar 23 2009, 11:40
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121



Сегодня попробовал написать алгоритм по совету.
НА простых треках работает всё, но есть треки, где касичкой идёт всё,там всё намертво повисает.

Нисего не помогает. sad.gif((((((((((((((((((((((
У меня горе просто!
Есть очень кривыии линии.
Со всяки провальчиками, пычками.
ОТфильтруешь одно, третье вылазит.
Треть, четвёртое.
У меня уже прога листов на 10 получилась.
На одном работает, треий подключил, всё съехало.


А кто-нибудь с такой задачей сталкивался?
Go to the top of the page
 
+Quote Post
blackfin
сообщение Mar 23 2009, 11:46
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(Prinz @ Mar 23 2009, 14:40) *
Сегодня попробовал написать алгоритм по совету.

А что за совет? А то советов, вроде, много было..
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 31 2009, 12:01
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 184
Регистрация: 11-09-08
Пользователь №: 40 121



Цитата(blackfin @ Mar 23 2009, 16:46) *
А что за совет? А то советов, вроде, много было..


Решение:
1. Попарно находятся пересекающиеся отрезки ломаной, и в точках пересечения разбиваются каждый на два отрезка.
2 Находим все замкнутые участки ломаной (это будут границы внутренних областей)
3. Попарно проверяются внутренние области, ограниченные этими замкнутыми участками ломаной на предмет вхождения одной области в другую; если область входит в другую, то ломаная - граница области исключается (удаляется)
4 Оставшиеся ломаные – решение

Цитата(Ledmaster @ Mar 23 2009, 22:38) *
То, что не решается аналитически, можно решить графически: отрисуйте треки в битмап ( достаточно бит на точку, много еста не займет), тогда задача сведется к банальной заливке области. Если начальную точку выбрать гарантированно во внешней области, как раз гарантированно зальется все, что вне.

З.Ы. чтобы не было "протеканий" во внутрь, треки нужно рисовать толстыми линиями. Как раз получится отступ, который Вы рисовали, в половину толщины линии.



Решил задачу аналогично вашему совету.
Сожалею, что поздно прочитал Ваш совет, а то неделю думал, голову ломал.
Работает просто всё шикарно.
Теперь буду выделять внутреннии области. biggrin.gif
Если необходимо могу моим последователям выложить код программки на билдере.
Буду аналогично внутреенни зоны вычленять.
Всем большое спасибо за советы.

Цитата(Ledmaster @ Mar 23 2009, 22:38) *
То, что не решается аналитически, можно решить графически: отрисуйте треки в битмап ( достаточно бит на точку, много еста не займет), тогда задача сведется к банальной заливке области. Если начальную точку выбрать гарантированно во внешней области, как раз гарантированно зальется все, что вне.

З.Ы. чтобы не было "протеканий" во внутрь, треки нужно рисовать толстыми линиями. Как раз получится отступ, который Вы рисовали, в половину толщины линии.



Решил задачу аналогично вашему совету.
Сожалею, что поздно прочитал Ваш совет, а то неделю думал, голову ломал.
Работает просто всё шикарно.
Теперь буду выделять внутреннии области. biggrin.gif
Если необходимо могу моим последователям выложить код программки на билдере.
Буду аналогично внутреенни зоны вычленять.
Всем большое спасибо за советы.

Цитата(_Pasha @ Mar 23 2009, 17:22) *
Курите теорию R-функций. (Функции Рвачева).


Заинтересовало очень Ваше придложение с математической точки зрения.
Слышал о них, но дела с ними никогда не имел.
А посоветуйте книжечку пожалуйста.
В моих книжках по Вышке такого нет.

Цитата(_Pasha @ Mar 23 2009, 17:22) *
Курите теорию R-функций. (Функции Рвачева).


Заинтересовало очень Ваше придложение с математической точки зрения.
Слышал о них, но дела с ними никогда не имел.
А посоветуйте книжечку пожалуйста.
В моих книжках по Вышке такого нет.

Цитата(Палыч @ Mar 23 2009, 16:52) *
В том то и дело, что Вашу задачу никто толком понять не может. Я так понимаю - фильтрация точек трека... Но не понимаю по какому принципу. Какой Вы применили алгоритм? Что не получается (в каком случае алгоритм не работает)?


Я Вам скриншёт сейчас пришлё.
Вот, как у меня это вышло, и как оно должно быть.
Красная линия - это трек. который надо обвести с определённой точностью.
Граница области, которую я строю - чёрная линия.


Это кусочек трека, обведённого моей прожкой.

Было бы интересно и математическим способом решить эту задачу.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Ledmaster
сообщение Mar 31 2009, 19:38
Сообщение #5


Частый гость
**

Группа: Свой
Сообщений: 142
Регистрация: 18-02-08
Из: Челябинск
Пользователь №: 35 141



Цитата(Prinz @ Mar 31 2009, 18:01) *
Вот, как у меня это вышло, и как оно должно быть.
Красная линия - это трек. который надо обвести с определённой точностью.
Граница области, которую я строю - чёрная линия.

Это кусочек трека, обведённого моей прожкой.

Забавно, как раз в левом верхнем углу этого скриншота находится мой офис! beer.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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
- - zzzzzzzz   Вся исследуемая площадь устанавливается, исходя из...   Mar 21 2009, 08:54
|- - Prinz   Цитата(zzzzzzzz @ Mar 21 2009, 13:54) Впр...   Mar 21 2009, 09:04
|- - zzzzzzzz   Цитата(Prinz @ Mar 21 2009, 12:02) Не над...   Mar 21 2009, 09:06
||- - Prinz   Цитата(zzzzzzzz @ Mar 21 2009, 14:06) Это...   Mar 21 2009, 09:23
||- - VladimirYU   Цитата(Prinz @ Mar 21 2009, 12:16) Я же В...   Mar 21 2009, 09:23
|||- - Prinz   Цитата(VladimirYU @ Mar 21 2009, 14:23) Р...   Mar 21 2009, 09:28
|||- - Палыч   Попробую протелепатить... Вот (возможно, неверная ...   Mar 21 2009, 09:32
|||- - Prinz   Цитата(Палыч @ Mar 21 2009, 14:32) Решени...   Mar 21 2009, 09:55
|||- - Палыч   Цитата(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 31 2009, 15:01) Я Вам ...   Mar 31 2009, 14:45
|||- - Палыч   Цитата(Палыч @ Mar 31 2009, 17:45) Надеюс...   Apr 1 2009, 08:53
|- - Палыч   Цитата(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


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01521 секунд с 7
ELECTRONIX ©2004-2016