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

 
 
3 страниц V   1 2 3 >  
Reply to this topicStart new topic
> Вопрос по алгоритму определения границы кривой, Возник сложный вопрос и нигде не могу найти ответ!
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
Rst7
сообщение Mar 20 2009, 10:11
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Кривая замкнута, как я понимаю?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
VladimirYU
сообщение Mar 20 2009, 10:12
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 426
Регистрация: 5-04-07
Из: Санкт-Петербург
Пользователь №: 26 782



Цитата(Prinz @ Mar 20 2009, 12:54) *
Мне стоит задача придумать алгоритм, с помощью которого можно определить только внешнюю границу любой кривой линии, любой любой, и только внешнюю. Внутрь заходить не должны.
В наличии только координыты точек исходной кривой!
Я сам придумал с нуля четыре алгаритма, все по своему хороши, но меняется какое-то уовие и они подвисают.
Посоветуйте что-нибудь, хотя бы где почитать.

Это стеб?
Причина редактирования: Излишнее цитирование.
Go to the top of the page
 
+Quote Post
Rst7
сообщение Mar 20 2009, 10:14
Сообщение #4


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



И что значит, определить внешнюю границу? Продемонстрируйте рисунком, чтоли.

Цитата
Это стеб?


Почему Вы так думаете?


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 20 2009, 10:29
Сообщение #5


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

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



Цитата(Rst7 @ Mar 20 2009, 15:11) *
Кривая замкнута, как я понимаю?


Сейчас нарисую.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Mar 20 2009, 13:01
Сообщение #6


Гуру
******

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



Цитата(Prinz @ Mar 20 2009, 12:54) *
Мне стоит задача придумать алгоритм, с помощью которого можно определить только внешнюю границу любой кривой линии, любой любой, и только внешнюю.
Правильная формулировка задачи - половина решения!
Что значит "внешнюю границу"? Кривая, наверное, замкнутая? Если кривая делит плостость (а, плоскость ли?) на "внутренность" и "внешность", то сама она и будет границей. Сложность у Вас, наверное, в том, что кривая имеет "петли". Так ли? В этом случае необходимо обнаружить такие "петли", разбить кривую на несколько (каждая из которых замкнутая и не содержит "петель" -т.е. произвести декомпозицию) и некоторые замкнутые кривые, лежащие целиком "внутри" других кривых, - исключить... Впрочем, алгоритм будет сильно зависить от условия задачи: например, как задана кривая - аналитически, отрезками или нарисована каким-то цветом на рисунке (матрица цветов пикселей, например)...

PS. Не заметил, что заданы точки кривой... Навскидку - наметки как разбить алгоритм на два алгоритма: 1) подойти от точки заведомо лежащей вне кривой до упора в кривую 2) обойти вдоль кривой (по часовой стрелке, например), отмечая точки кривой, соприкасающиеся с точкой обхода. К каждому пункту придумать алгоритм - уже легче...
Go to the top of the page
 
+Quote Post
xemul
сообщение Mar 20 2009, 14:11
Сообщение #7



*****

Группа: Свой
Сообщений: 1 928
Регистрация: 11-07-06
Пользователь №: 18 731



Скорее всего, более общая постановка задачи: определить, находится ли точка внутри (или снаружи) замкнутого контура.
Решения (_стандартной_топологической_задачи_) разбираются, по-моему, во 2-м томе Кнута.
До определения способа задания контура (массив, связанный список,...; метод интерполяции; пересечения областей;...) говорить просто не о чем.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Mar 20 2009, 18:10
Сообщение #8


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Рисуем касательную в конкретной точке. Дальше половина направлений будет в одну сторону - половина в другую.
Ставим точку сначала с одной стороны, потом с другой. И проверяем, есть ли путь до точки которая находится внутри (или снаружи).


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 21 2009, 08:27
Сообщение #9


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

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



Вот, как это должно выглядить!
Вчера никак не мог на сайт загрузить, он просто не работал у меня!


Ещё сложность в том, что кривая задана отрезками и точки между отрезками неравномерны!
Тоесть, изменение направление - много точек, движение по прямой - то точек мало!
ТОесть они редки!

Для обведения по кругу просто кривой уже четыре олгаритма придумал!

И метод по касательно может не помочь, так как например в этом напралении модет не быть точек, а линия есть!

Всем спасибо за советы.
Готов ещё выслушать предложения.
А кто может посоветовать какую-нибудь книгу???
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Палыч
сообщение Mar 21 2009, 08:29
Сообщение #10


Гуру
******

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



Цитата(Prinz @ Mar 21 2009, 11:20) *
Вот, как это должно выглядить!
Ужасно информативно... Коль привели эти каракули, то, хотя бы цветом что-то выделили, пояснения бы дали... А так - что привели рисунок, что - нет... Потратьте немного времени на полную и грамотную постановку задачи! Тогда и решение быстрее сможите найти, или подскажет, посоветует кто-нибудь что-то дельное.
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 21 2009, 08:53
Сообщение #11


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

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



А кто-нибудь знаком с файлом фомата .plt для OziExplorer?
Вот в этом файле даны точки кривой от начала до конца.
Из него я и считываю.

Перерисовал заного!

Здесь ещё наиболее сностный вариант!

НАчало и конец могут совпадать!
Если надо могу ещё более подробно описать.

На границе не указал точки, но их должно быть мало. Тоесть наиного меньше чем на основной кривой. Но точность тоже должна быть.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
zzzzzzzz
сообщение Mar 21 2009, 08:54
Сообщение #12


Профессионал
*****

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



Вся исследуемая площадь устанавливается, исходя из максимальных и минимальных координат имеющихся точек и, исходя из нужной точности, представляется в виде двухкоординатной равномерной сетки.

По трем соседним точкам восстанавливается треугольник. Координаты всех его вершин известны. Определяется его площадь. Если она не равна 0, то точки не лежат на прямой - и можно определить, какие точки сетки попадают в него, а какие - нет. В матрицу точек сетки записываем признак попадания-непопадания.
Берем следующий треугольник, модифицируем матрицу. Остановка процесса по исчерпанию количества точек кривой. Значения признаков в матрице, "окруженные" признаками противоположного значения, инвертируются.

Впрочем, наверное, это сложно для вас. Бросьте это безнадёжное дело. biggrin.gif
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 21 2009, 09:04
Сообщение #13


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

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



Цитата(zzzzzzzz @ Mar 21 2009, 13:54) *
Впрочем, наверное, это сложно для вас. Бросьте это безнадёжное дело. biggrin.gif


Не надо оскарблять. Я тоже могу.
Во-вторых это может не пракатить! Три соседнии точки которые вы говорите могут быть в начале и конце массива координат.
В - третьих я говорю. Точки может не быть, а прямая линия там проходить будет и ваш алгоритм просто её не заметит. Уже так нагревался.
Обратите внимание на рисуночек.
Это не просто графика. Это работа с координатами GPS.

Я уже сделал четыре программы на векторном анализе. НЕ знаю на сколько это сложно для вас?
Но при определённых условия анализ не проходит.



И ваш метод при большом треке, например Москва - Владивосток, просто не прокатит.
Памяти не хватит!
Go to the top of the page
 
+Quote Post
zzzzzzzz
сообщение Mar 21 2009, 09:06
Сообщение #14


Профессионал
*****

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



Цитата(Prinz @ Mar 21 2009, 12:02) *
Не надо оскарблять. Я тоже могу.
Это не "оскарбление", а чистая констатация факта - вы не можете даже условия задачи сформулировать нормально. И, судя по аргументации, эту задачу не сможете решить ближайшие несколько лет rolleyes.gif . Хотя, удачи вам, конечно.
Go to the top of the page
 
+Quote Post
Prinz
сообщение Mar 21 2009, 09:23
Сообщение #15


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

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



Цитата(zzzzzzzz @ Mar 21 2009, 14:06) *
Это не "оскарбление", а чистая констатация факта - вы не можете даже условия задачи сформулировать нормально. И, судя по аргументации, эту задачу не сможете решить ближайшие несколько лет rolleyes.gif . Хотя, удачи вам, конечно.


Я же Вашими способностями умственными не интересуюсь.
Мне нужен совет,а не Ваши шуточки.
А решения же четыре есть, за неделю!

И ещё прочитай внимательнее , что я написал.
Там указана вся специфичность задачи.
Причина редактирования: Излишнее цитирование.

Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 09:08
Рейтинг@Mail.ru


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