Поиск расположения сегментов цепи

Темы связанные с инженерными разработками, но не подходящие в другие ветки форума
Ответить
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Поиск расположения сегментов цепи

Сообщение Artem.spb »

Третью неделю ломаю голову, никак не найду решения.
Но 3d редакторы решают такую задачу элементарно, значит алгоритм существует, и он не космически сложный.
Задача: нарисовать расположение звеньев цепи
chain.png
chain.png (6.88 КБ) 8171 просмотр
Есть координаты начала (2) и конца (1), есть общее количество сегментов и длина сегмента. Цепь в одной плоскости, типа велосипедной.
Пробовал полуокружность крутить и углы поворота искать, но пока получается ерунда вроде этого:
chain2.png
проблема в том, что работает не на всех длинах.
Подскажите, как проще найти эти координаты.
Blackman

Activity
leader
leader
Сообщения: 932
Зарегистрирован: 17 янв 2016, 15:02
Награды: 1
Версия LabVIEW: 6.1,8.5,20

Re: Поиск расположения сегментов цепи

Сообщение Blackman »

Сегмент жесткий или гибкий (резина)?
Пробовал полуокружность крутить...
Я думаю, что при жестком сегменте цепи (как у велосипедной) линией сопряжения двух прямолинейных участков цепи в общем случае должен быть эллипс.
А окружность будет получаться как частный случай эллипса.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Поиск расположения сегментов цепи

Сообщение IvanLis »

Artem.spb писал(а):Есть координаты начала (2) и конца (1), есть общее количество сегментов и длина сегмента. Цепь в одной плоскости, типа велосипедной.
Артем, смещение точек 1 и 2 по оси X кратно длине сегмента?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение Artem.spb »

Сегменты жёсткие, смещаются плавно.
Чтобы было понятнее: это кабель-канал. Точка 2 зафиксирована, а точка 1 на приборе, которые едет вдоль оси х.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Поиск расположения сегментов цепи

Сообщение IvanLis »

Artem.spb писал(а):Сегменты жёсткие, смещаются плавно.
Сделал, при условии, что закругление в виде половины окружности с радиусом (y1-y2)/2.
При расчетах никаких проверок не выполняется, так что для реальной обстановки необходимо доработать.

В основу положен эвристический метод, шаг поиска по ходу приближения к точке поиска уменьшается.
Алгоритм останавливается при достижении установленного уровня ошибки.

Артем, объяснять особо некогда, да и с твоими знаниями по геометрии, апробированными на олимпиаде, ты в состоянии сам разобраться.

Если очень коротко, то принцип следующий.

Описываем ломанной:
- стартуем из точки 2 и идем по прямой до начала закругления
- потом идем по окружности до линии
- идем по линии
- если точка 2 пройдена, то останавливаемся и сравниваем количество используемых сегментов с заданным
- в зависимости от количества используемых сегментов сдвигаем точку закругления и начинаем все заново

Таким образом изменяя координату Y центра окружности описывающей закругление, попадаем последним сегментом в точку 1 с заданной ошибкой.

Основной файл - Search.vi
Cep.zip
lv2010
(115.99 КБ) 161 скачивание
Вот полученные результаты при разной длине сегментов:
1.png
2.png
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение Artem.spb »

"это невозможно понять, это надо просто запомнить" :)
Круто работает, спасибо.
Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
guru
guru
Сообщения: 5462
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Версия LabVIEW: 2015, 2016
Откуда: СССР
Благодарил (а): 28 раз
Поблагодарили: 86 раз

Re: Поиск расположения сегментов цепи

Сообщение IvanLis »

Artem.spb писал(а):"это невозможно понять, это надо просто запомнить" :)
Если вникнуть, то там не сложно :crazy:


AGRs0BfK6HU
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение Artem.spb »

верю, что не сложно, но после трёх недель долбания хочется просто взять готовую функцию и интегрировать её в свой проект :)
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение Artem.spb »

Конечная 3Д-модель.
С освещением пока сложности, но это сваливаю на исходные модели: часть из них слишком бликует, другая нормально.


YxJ76XsUT1M
Аватара пользователя
kapusta1986
assistant
assistant
Сообщения: 103
Зарегистрирован: 14 июн 2014, 13:56
Версия LabVIEW: 2014, 2015
Откуда: Караганда
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение kapusta1986 »

:super: Очень круто! А может нижний кабельный ввод убрать вообще? А то вместе с агрегатом "отрывается". Если это солидовская сборка? и ее рендер? то может быть с освещением поиграться? Или это экспортированный в какой то формат типа Step?
Artem.spb

Activity Автор
professor
professor
Сообщения: 3393
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Версия LabVIEW: 12-18
Благодарил (а): 49 раз
Поблагодарили: 172 раза
Контактная информация:

Re: Поиск расположения сегментов цепи

Сообщение Artem.spb »

Детали модели предоставлены заказчиком, провод - один из косяков, про который я сказал, но реакции пока не получил.
И запчасти поступали тоже по-частям, колёса с кабель-каналом точно в солиде рисовались, а вот с остальными не знаю.
Детали сборки по-частям экспортированы в STL, и из этих файлов подгружаются в программу.
Освещением я управляю из :labview: (поставил один источник света в заданной точке), вот как раз когда резко меняется яркость, я за кадром задаю другое значение рассеивания (или затухания).
Ответить
  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Общие»