|
||
| Правила | Регистрация | Пользователи | Сообщения за день | | Поиск | | Справка по форуму | Файлообменник | |
|
![]() |
Поиск в этой теме |
|
||||
Регистрация: 13.02.2016
Сообщений: 54
|
Подскажите, пожалуйста, можно ли избавиться от комбинации foreach-foreach и имеет ли смысл? При большом кол-ве объектов (линий) этот фрагмент кода изрядно подвисает.
И объясните еще для чего "reverse res"? Без переворота списка наблюдаю некорректную работу в коде, но не могу понять почему ![]() Код:
|
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Без проверки работоспособности:
Код:
Код:
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Ну так я и мозг-то особо не подключал ) Если я правильно понял, то надо оставить отрезки, у которых совпадают начальные вершины? Если да, то можно block_cont_1 и block_cont_2 объединить и проходить уже по объединенному списку. Можно заменить элементы - сначала двумерные координаты, потом указатель на примитив, и обрабатывать на основании координат (не понадобится постоянно вычислять значения). Можно в процессе проходки по объединенному списку попробовать исключать из него уже обработанные варианты, можно... Пока что фантазия закончилась. И на написание кода сейчас меня 100% не хватит - сижу в другой задачке, и это надолго
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Апостроф в компилированном коде немного медленнее, насколько я помню. Ну и мне пару раз хватило словить ошибку PPT при форматировании кода
![]()
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
|
||||
Регистрация: 13.02.2016
Сообщений: 54
|
Благодарю! Я добавил все варианты как могут стыковаться отрезки друг с другом и завернул в цикл, чтобы находить полные цепочки отрезков, которые растут от линий из списка "block_cont_1". На выходе получаем список с несостыкованными отрезками (block_cont_2).
Код:
|
|||
![]() |
|
||||
Gretech89,
в чём главная идея? есть два сравниваемых списка контуров из отрезков. начинаем сравнивать, находим несовпадающие отрезки и выводим только их в список или ?
__________________
K Lisp Последний раз редактировалось koMon, 20.02.2025 в 12:07. |
||||
![]() |
|
||||
Gretech89,
если я правильно понимаю, то нужно в блоке найти сцепленные отрезки, при этом удалив отдельностоящие от сцепленных. и отдельностоящих и сцепленных может быть не одна группа или одна штука. то что я предложил ни при каких условиях этого не сделает, потому что нацелено на поиск совпадающих отрезков по вершинам только. см. ниже.
__________________
K Lisp |
||||
![]() |
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 40,404
|
Вы еще сюды добавьте коллинеарные отрезки ))
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
![]() |
![]() |
|
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
LISP. Вставка в таблицу поля, соотвествующего площади примитива | Profan | Готовые программы | 272 | 06.06.2021 23:12 |
Сейсмозащита и сейсмоизоляция существующих, построенных зд. | IANationalInformAgentstvo | Прочее. Архитектура и строительство | 216 | 20.01.2015 16:51 |
Мониторы LCD CRT | Разное | 94 | 17.06.2008 10:51 | |
ЮМОР 2006 =) | Perezz!! | Разное | 1122 | 04.01.2007 00:46 |