|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
![]() |
#1 | |
порядок нумерации точек. помогите с алгоритмом
Проектировщик ВК. LISP-любитель.
Москва
Регистрация: 15.12.2003
Сообщений: 1,202
|
||
Просмотров: 6042
|
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Наверное нужен еще один аргумент - точность (tol) по координате y, в пределах которой точки списка lp, будут считаться находящимися на одной высоте.
Эти точки дальше можно отсортировать по x. Даже если точность задана, это не гарантирует однозначности. Все зависит способа выбора полосы высотой tol: можно начинать с точек с наименьшими координатами y, или наоборот с наибольшими. Способов выбора таких полос может быть бесконечно много. Поэтому результат будет отличаться. |
|||
![]() |
|
||||
Довольно востребованный алгоритм - минимальный пробег для линии, соединяющей все точки.
Еще эта задача известна, как задача Коммивояжера.
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Цитата:
Цитата:
|
|||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Задача разбивки множества точек на горизонтальные полоски, несмотря на простоту формулировки, довольно сложна.
Я распознаю в ней задачу распознавания ![]() Вот простейший случай 2-х точек: (setq lp '((0 0 0) (10 0.01 0))). Если считать это одной полоской с двумя точками, то "естественная" нумерация справа налево и сверху вниз, сохранит порядок в lp. А если это 2 полоски по 1-ой точке, то после сортировки получится так: ((10 0.01 0) (0 0 0)). Даже для двух точек могут быть такие заморочки, а что будет для тысяч точек? Последний раз редактировалось Li6-D, 11.07.2011 в 23:19. |
|||
![]() |
|
||||
КИПиА Регистрация: 21.03.2005
Tyumen
Сообщений: 1,352
![]() |
Цитата:
Последний раз редактировалось zamtmn, 11.07.2011 в 23:14. |
|||
![]() |
|
||||
И нерешаемая в общем случае без применения терии вероятности.
__________________
С уважением sbi |
||||
![]() |
|
||||
Зачем же так...
Эта задача, относится к университетским, т.е ее любят задавать различные преподы во всем мире. Для решения придумано большое количество алгоритмов, позволяющих найти достаточно хорошее решение с заранее известной погрешностью относительно абсолютного решения. ps. одно из моих решений, можно посмотреть на болоте...
__________________
Чем гениальнее ваш план, тем меньше людей с ним будут согласны. /Сунь Цзы/ |
||||
![]() |
|
||||
Регистрация: 03.05.2009
Сообщений: 112
|
Строгая сортировка точек в естественном порядке справа налево и сверху вниз, как нужно по теме.
Это просто квинтэссенция кода из сообщения №2 Олега (jr.) Код:
Код:
|
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите плиз с программкой по автоматической нумерации | Diman111 | Программирование | 110 | 30.08.2021 07:18 |
Нарушен порядок нумерации узлов (СКАД) | Satch | SCAD | 15 | 18.01.2017 23:08 |
Как исправить ошибки в Лире:нарушен порядок нумерации узлов... | ganesh | Лира / Лира-САПР | 13 | 17.04.2012 07:00 |
Lisp, помогите с алгоритмом "подтягивания" поллиний | 2123 | LISP | 1 | 03.02.2010 23:58 |
Помогите новичку определить порядок расчета. | adisport | Расчетные программы | 4 | 28.11.2009 12:03 |