Поиск расположения сегментов цепи
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Поиск расположения сегментов цепи
Третью неделю ломаю голову, никак не найду решения.
Но 3d редакторы решают такую задачу элементарно, значит алгоритм существует, и он не космически сложный.
Задача: нарисовать расположение звеньев цепи Есть координаты начала (2) и конца (1), есть общее количество сегментов и длина сегмента. Цепь в одной плоскости, типа велосипедной.
Пробовал полуокружность крутить и углы поворота искать, но пока получается ерунда вроде этого: проблема в том, что работает не на всех длинах.
Подскажите, как проще найти эти координаты.
Но 3d редакторы решают такую задачу элементарно, значит алгоритм существует, и он не космически сложный.
Задача: нарисовать расположение звеньев цепи Есть координаты начала (2) и конца (1), есть общее количество сегментов и длина сегмента. Цепь в одной плоскости, типа велосипедной.
Пробовал полуокружность крутить и углы поворота искать, но пока получается ерунда вроде этого: проблема в том, что работает не на всех длинах.
Подскажите, как проще найти эти координаты.
-
- leader
- Сообщения: 932
- Зарегистрирован: 17 янв 2016, 15:02
- Награды: 1
- Версия LabVIEW: 6.1,8.5,20
Re: Поиск расположения сегментов цепи
Сегмент жесткий или гибкий (резина)?
А окружность будет получаться как частный случай эллипса.
Я думаю, что при жестком сегменте цепи (как у велосипедной) линией сопряжения двух прямолинейных участков цепи в общем случае должен быть эллипс.Пробовал полуокружность крутить...
А окружность будет получаться как частный случай эллипса.
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Поиск расположения сегментов цепи
Артем, смещение точек 1 и 2 по оси X кратно длине сегмента?Artem.spb писал(а):Есть координаты начала (2) и конца (1), есть общее количество сегментов и длина сегмента. Цепь в одной плоскости, типа велосипедной.
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Поиск расположения сегментов цепи
Сегменты жёсткие, смещаются плавно.
Чтобы было понятнее: это кабель-канал. Точка 2 зафиксирована, а точка 1 на приборе, которые едет вдоль оси х.
Чтобы было понятнее: это кабель-канал. Точка 2 зафиксирована, а точка 1 на приборе, которые едет вдоль оси х.
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Поиск расположения сегментов цепи
Сделал, при условии, что закругление в виде половины окружности с радиусом (y1-y2)/2.Artem.spb писал(а):Сегменты жёсткие, смещаются плавно.
При расчетах никаких проверок не выполняется, так что для реальной обстановки необходимо доработать.
В основу положен эвристический метод, шаг поиска по ходу приближения к точке поиска уменьшается.
Алгоритм останавливается при достижении установленного уровня ошибки.
Артем, объяснять особо некогда, да и с твоими знаниями по геометрии, апробированными на олимпиаде, ты в состоянии сам разобраться.
Если очень коротко, то принцип следующий.
Описываем ломанной:
- стартуем из точки 2 и идем по прямой до начала закругления
- потом идем по окружности до линии
- идем по линии
- если точка 2 пройдена, то останавливаемся и сравниваем количество используемых сегментов с заданным
- в зависимости от количества используемых сегментов сдвигаем точку закругления и начинаем все заново
Таким образом изменяя координату Y центра окружности описывающей закругление, попадаем последним сегментом в точку 1 с заданной ошибкой.
Основной файл - Search.vi
Вот полученные результаты при разной длине сегментов:
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Поиск расположения сегментов цепи
"это невозможно понять, это надо просто запомнить" :)
Круто работает, спасибо.
Круто работает, спасибо.
-
IvanLis
- guru
- Сообщения: 5464
- Зарегистрирован: 02 дек 2009, 17:44
- Награды: 7
- Версия LabVIEW: 2015, 2016
- Откуда: СССР
- Благодарил (а): 28 раз
- Поблагодарили: 87 раз
Re: Поиск расположения сегментов цепи
Если вникнуть, то там не сложноArtem.spb писал(а):"это невозможно понять, это надо просто запомнить" :)
AGRs0BfK6HU
Знание нескольких принципов освобождает от знания многих фактов!
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
Правила форума
Как добавить в сообщение картинку или файл
Конвертация / версий (форматов) VI
Как правильно задать вопрос...
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Поиск расположения сегментов цепи
верю, что не сложно, но после трёх недель долбания хочется просто взять готовую функцию и интегрировать её в свой проект :)
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Поиск расположения сегментов цепи
Конечная 3Д-модель.
С освещением пока сложности, но это сваливаю на исходные модели: часть из них слишком бликует, другая нормально.
YxJ76XsUT1M
С освещением пока сложности, но это сваливаю на исходные модели: часть из них слишком бликует, другая нормально.
YxJ76XsUT1M
- kapusta1986
- assistant
- Сообщения: 103
- Зарегистрирован: 14 июн 2014, 13:56
- Версия LabVIEW: 2014, 2015
- Откуда: Караганда
- Контактная информация:
Re: Поиск расположения сегментов цепи
Очень круто! А может нижний кабельный ввод убрать вообще? А то вместе с агрегатом "отрывается". Если это солидовская сборка? и ее рендер? то может быть с освещением поиграться? Или это экспортированный в какой то формат типа Step?
-
- professor
- Сообщения: 3404
- Зарегистрирован: 31 июл 2011, 23:05
- Награды: 2
- Версия LabVIEW: 12-18
- Благодарил (а): 49 раз
- Поблагодарили: 175 раз
- Контактная информация:
Re: Поиск расположения сегментов цепи
Детали модели предоставлены заказчиком, провод - один из косяков, про который я сказал, но реакции пока не получил.
И запчасти поступали тоже по-частям, колёса с кабель-каналом точно в солиде рисовались, а вот с остальными не знаю.
Детали сборки по-частям экспортированы в STL, и из этих файлов подгружаются в программу.
Освещением я управляю из (поставил один источник света в заданной точке), вот как раз когда резко меняется яркость, я за кадром задаю другое значение рассеивания (или затухания).
И запчасти поступали тоже по-частям, колёса с кабель-каналом точно в солиде рисовались, а вот с остальными не знаю.
Детали сборки по-частям экспортированы в STL, и из этих файлов подгружаются в программу.
Освещением я управляю из (поставил один источник света в заданной точке), вот как раз когда резко меняется яркость, я за кадром задаю другое значение рассеивания (или затухания).
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
- 2 Ответы
- 324 Просмотры
-
Последнее сообщение BAS