Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++
Войти
Регистрация
Восстановить пароль
 
DimKaKiber
11 / 11 / 0
Регистрация: 20.11.2013
Сообщений: 118
Завершенные тесты: 1
#1

Квартернионы. Расчет координат вектора при смещении одного узла относительно другого

03.10.2017, 08:00. Просмотров 177. Ответов 1
Метки нет (Все метки)

Добрый день! Помогите, пожалуйста, решить задачу.

Есть три связанных между собой узла. Один узел неподвижен (Узел 1). На нем расположен центр глобальной системы координат (точка (0,0,0)). К нему жестко крепится Узел 2 (картинка). Этот узел совершает вращательное движение вбок на определенный угол (Альфа на картинке) и тянет за собой Узел 3. Начала координат Узла 2 и Узла 3 совмещены .

Нужно найти координаты точки А со штрихом (x,y,z), которые получаются при перемещении узла 3 вслед за узлом 2.

На картинке справа от рисунка я приставил систему координат, в которой перемещаются узлы. Снизу - система координат, для которой есть направляющий вектор (1,0,0) для узла 2.

Для решения задачки сделал механизм генерации квартернионов и их обработки.
При этом считаю координаты вектора по механизму поворота вектора (https://habrahabr.ru/post/255005/, http://www.rossprogrammproduct.com/t...%20FAQ.htm#Q26 и другие).

Результаты, мягко говоря, не впечатляют. Результаты сравниваю с результатами, выдаваемыми Solid Works при работе с моделькой этой. При этом повороты относительно осей на 90,180 градусов работают верно. Поэтому, думаю что где то непонимаю уже саму методологию.

Заранее спасибо за ответы и советы!
0
Миниатюры
Квартернионы. Расчет координат вектора при смещении одного узла относительно другого  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2017, 08:00
Ответы с готовыми решениями:

Два, рядом стоящие эллипса, изменяют размеры, цвета заливки, положение одного относительно другого
Нужна помощь с написанием кода: Два, рядом стоящие эллипса, изменяют...

Расчет координат точки при смещении узла
Добрый день! Хотелось бы посоветоваться о решении новой для меня задачи. У...

Как получить значение одного узла по значению другого узла?
Всем благополучия. Помогите разобраться с вроде несложной ситуацией, плз....

Кватернион: расчет новой координаты точки при повороте ее СКО относительно предыдущей системы координат
Добрый день! Столкнулся с проблемой понимания применения алгебры кватернионов...

Уникальность одного текста относительно другого
Здраствуйте! Возникла необходимость написать программу, которая могла бы...

1
DimKaKiber
11 / 11 / 0
Регистрация: 20.11.2013
Сообщений: 118
Завершенные тесты: 1
03.10.2017, 15:46  [ТС] #2
Начал потихоньку разбираться.

здесь http://dobrijzmej3d.blogspot.ru/2012/07/ogre3d.html хорошую табличку нашел в конце.
Получается, что относительно глобальной системы координат узла 1 система узла 2 должна быть повернута на 180 градусов по оси X (1,0,0).

Затем мне нужно повернуть этот узел (наклонить) по соответствующей оси и выполнить обратный разворот на 180 градусов?

Правильно ли я рассуждаю?

Добавлено через 4 часа 38 минут
Ладно. Сам спросил - сам отвечаю

Для этого простого примера подошла схема:
1. Перенос координат текущего узла в систему координат предыдущего.
2. Формирование квартерниона, описывающего поворот вокруг нужной оси на нужный угол.
3. Поворот вектора квартернионом.
4. Возврат системы координат на место.


Про перенос координатных систем напрочь забыл, поэтому была проблема.
Теперь буду дальше экспериментировать.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2017, 15:46

Вычисление одного поля на форме относительно другого
Доброго времени суток. Прошу Вас помочь с формой на которой есть вичисляемое...

HEIGHT одного блока DIV относительно другого
Есть блоки DIV (например main и left), у блока left высота (height) 800px,...

Max среди координат одного вектора
max среди координат одного вектора. С векторов v1,v2,v3 выбрать вектора(один...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru