Путь по образцу03.02.2025, 17:04. Показов 1608. Ответов 11
Метки нет (Все метки)
Добрый день
Есть "образцовый" путь заданный контейнером точек (x, y, z). Др словами это путь из A в B (первый и последний эл-ты контейнера). Требуется пересчитать его для заданных точек C и D. Понятно что результат будет не всегда идеальным, но хотелось бы предвидеть возможные проблемы и, по возможности, "подстелить соломки" Спасибо
0
|
|
| 03.02.2025, 17:04 | |
|
Ответы с готовыми решениями:
11
Теория Алгоритмов или Путеводитель по созданию простых и эффективных алгоритмов поиск путей на графе Просчёт путей |
|
2623 / 1634 / 266
Регистрация: 19.02.2010
Сообщений: 4,339
|
||
| 03.02.2025, 18:42 | ||
|
Обычное проецирование отрезка [k,l] на отрезок [m,n], точнее, сдвиг-пересчёт значения координаты q (в т.ч. и не попадающей в исходный отрезок [k,l]) через пропорцию: Т.е. независимо от того, в пространстве какой размерности лежат точки - каждая их координата будет обрабатываться по отдельной формуле (не зависящей от значений др.координат). И пофиг, каким при этом будет контейнер, точнее, каким будет хранение точек/координат в нём (хоть array of structures - хоть structure of arrays) - вычисления для любого варианта могут быть SIMDизированы.
0
|
||
| 03.02.2025, 23:17 [ТС] | ||
|
И не надо искать развлечений на стороне (бОльшая размерность, SIMD), в рамках тупой алгебры найдется чем заняться
0
|
||
| 05.02.2025, 16:30 [ТС] | |
|
Немного "копнем". Навскидку
1. Поворот. Очевидно что 2 неколлинеарных вектора AB и CD задают ось и угол поворота. Но будет ли такой поворот лучшим - неясно, скорее нет. И также очевидно что он не единственный. В общем, с поворотом надо что-то делать 2. А если (A == B) или (C == D)? Др словами юзер (сознательно) хочет разомкнуть/сомкнуть путь. Линейными преобразованиями тут не отделаться, но такого ограничения и не налагалось. Неясно насколько это актуально/полезно, но тупенько запрещать не хотелось бы, юзер туда полезет просто потому что "запретный плод сладок" 3. Вычисление масштаба как отношение длин CD/AB может быть совсем не тем что нужно. Напр AB = 0.1 при bounding box пути = 100х100х100, т.е. путь "похож на замкнутый". CD легко может оказаться 0.01 или 1.0. Вряд ли увеличение/уменьшение в 10 раз устроит, это будет расценено как баг Ну пока хватит. Да, и что скажет княгиня Марья Алексевна? Надо же скормить условие ИИ
0
|
|
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
|
| 07.02.2025, 18:24 | |
|
Igor3D, для начала определитесь что для вас значит "лучший" ? Если AB и СD - отрезки прямых, то простым вариантом будет линейное преобразование. Если AB это кривая, то тут будут варианты. Начиная от отображения кривой AB на отрезок CD. Можно, как один из множества вариантов, провести прямые AC и BD, найти кратчайшее расстояние между этими (скрещивающимися) прямыми, по этому отрезку кратчайшего расстояния пустить прямую как по образующей, вторым концом эта прямая будет проходить по кривой AB. Тогда и кривая AB, и кривая CD будут лежать на линейчатой поверхности - коноиде. А вообще вариантов отобразить кривую на кривую бесконечно много. Нужны какие-то дополнительные ограничения или условия.
0
|
|
| 07.02.2025, 23:42 [ТС] | ||
|
Или другой, чисто шкурный, подход. Типа "все уже давно написано !" и.т.п. Для данной задачи это наверно так. Но найти готовое решение пока не выходит. Пробовал path (trajectory) remap (transform, (re)fit, (re)scale) - зацепиться не удается, "не то". Никто не хочет показать мастерство гугления?
0
|
||
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
||
| 08.02.2025, 09:08 | ||
|
0
|
||
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
|
| 08.02.2025, 16:21 | |
|
Igor3D, в 4 посте только рассуждения типа "мне так не нравиться" а почему и что? Что такое, например, "лучший поворот"?
0
|
|
| 08.02.2025, 19:28 [ТС] | ||
Но вижу возможные проблемы, пример. Путь - простая парабола (стреляет пушечка). Все точки пути лежат в плоскости с нормалью (x1, 0, z1). Не мудрствуя лукаво, создаем матрицу поворота из векторов AB и CD. Нормаль станет (x1, y1, z1), т.е. новая парабола будет "завалена", в худшем случае вообще "уйдет под землю". Отсюда мысль вычислить нормаль к пути/кривой и использовать ее при конструировании поворота (такое вычисление нормали я где-то видел, правда для др целей). Но это неочевидно и вполне заслуживает обсуждения.И вообще хотелось бы услышать Ваши мысли, свои никуда не убегут. А не разжевывать отчего да почему, толку от этого все равно ноль, если человек думать не хочет - он бесконечно будет петь песни про "плохую задачу", "телепатов" и.т.п. Да, и "найти готовое" - актуально
0
|
||
|
5515 / 2868 / 571
Регистрация: 07.11.2019
Сообщений: 4,757
|
||
| 11.02.2025, 11:04 | ||
|
что вы от других ожидаете? Какое мне, например, дело будет парабола завалена или нет, если в условии об этом ничего не говориться? Не нравиться заваливание - так просто покрутите заваленную кривую по оси CD, так как вам надо.
0
|
||
| 11.02.2025, 17:17 [ТС] | |||
Но задача/работа в том и состоит чтобы придумать алгоритм который бы максимально всех устроил. На что прозрачно намекает стартовый пост. Да, и не вздумайте спрашивать юзера что ему надо. Нормальный, благожелательный юзер ответит типа "сделай как получится и дай тестануть. Будут мысли как лучше - я тебе скажу". А не благожелательный раззвонит всем типа "а программизд - лох, не знает как делать, ходит спрашивает!"
0
|
|||
| 11.02.2025, 17:17 | |
|
Помогаю со студенческими работами здесь
12
Нахождение количества кратчайших путей Хранение маршрутов (путей графа) в БД Алгоритм Флойда-Уоршелла [для нахождения кратчайших путей] Каким образом лучше выполнять поиск всех возможных путей в ориентированном графе? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi
ветка по-частям.
коммит Create переделка под биомассу. txt
вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
|
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ *
Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях.
Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её.
Последовательность действий:. . .
|
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
|
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение.
И на уровне агентов добавится между грибами или бактериями взаимодействий.
До того я пробовал подход через многомерные массивы,. . .
|
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|