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

 
 
> Вопрос по алгоритму определения границы кривой, Возник сложный вопрос и нигде не могу найти ответ!
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
Ответов
Artem_Petrik
сообщение Mar 22 2009, 10:36
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 443
Регистрация: 22-07-06
Из: Украина, г. Харьков
Пользователь №: 19 006



По моему, то, что у вас точки соединены линиями всех только запутывает.
На мой взгляд задачу следовало бы сформулировать так: Имеется множество точек на плоскости, необходимо
построить замкнутую ломаную таким образом, чтобы ни одна из точек не осталась за границей области, очерченной этой ломаной. Ломаная при этом будет соединять некоторые, но не все, имеющиеся точки. Потом уже, при необходимости от полученной кривой можно бдет сделать отступ, чтоб был запас, как на приведенных рисунках.
Простейший способ решения здесь уже указывался, про треугольники, надо только брать треугольники не только из близлежащих точек, а вообще из всех возможных комбинаций из трех точек.
Т. е. берем три точки, проверяем, находится ли какая-либо точка внутри полученного треугольника, и, если находится - исключаем ее из множества точек, по которым будет проведена граница. Перебираем таким образом все возможные треугольники. В результате у нас останутся только те точки, по которым нужно провести границу. Соединяем их ломаной (каждую точку с двумя ближайшими) и получаем то, что, как я понимаю, требовалось найти.
Решение довольно громоздкое, и если результат работы алгоритма будет давать удовлетворяющие вас результаты, то можно будет думать, как его упростить.

З.Ы. Придумал еще алгоритм smile.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
|- - 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


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

 


RSS Текстовая версия Сейчас: 4th August 2025 - 23:35
Рейтинг@Mail.ru


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