Угол наклона детали относительно осей

Автор Skorb, 16.03.16, 20:46:05

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Skorb

Здравствуйте, у меня стоит следующая задача: есть сборка, в ней нужно для каждой детали вычислить углы наклона относительно осей. Например по оси Х угол=...б по оси У угол=... по оси Z угол=... Подскажите какой интерфейс использовать или сам алгоритм вычисления

Vitalij Lysanov


Для матрицы трансформации на углы 0.3 и 0.7
M
[[ 0.73068165  0.29552021  0.61544466  0.        ]
[-0.22602632  0.95533649 -0.19037934  0.        ]
[-0.64421769  0.          0.76484219  0.        ]
[ 0.          0.          0.          1.        ]]

по адресу:
http://www.rossprogrammproduct.com/translations/Matrix%20and%20Quaternion%20FAQ.htm         Вопрос 37.
Рассказывают про значение в матрице, равное синусу одного из углов, только оно оказалось в другом месте.
Если посмотреть функции от углов

>>> print math.sin(0.3),math.cos(0.3),math.sin(0.7),math.cos(0.7)
0.295520206661 0.955336489126 0.644217687238 0.764842187284


значение 0.644217687238 есть в матрице.

Один угол есть, со вторым наверное легче.

>>>
+ Благодарностей: 1

Akew

Цитироватьдля каждой детали вычислить углы наклона относительно осей
Может быть, вопрос нужно сформулировать так: Вычислить углы наклона ЛСК детали относительно осей АСК?
А то не понятно, что считать первой осью (прямой, линейным ребром или плоскостью) делали, относительно которой требуется найти угол "относительно оси".
Вторая ось в Вашем вопросе тоже не конкретизирована (это может быть как другая ось ЛСК этой же детали, оси АСК, оси ЛСК других деталей и т.д.).

Если моя версия Вашего вопроса верная, то похожий на днях рассматривался: http://forum.ascon.ru/index.php/topic,29230.0.html
(Вы же его и задавали).

Skorb

Я имел в виду угол наклона детали относительно ЛСК детали

Akew

ЦитироватьЯ имел в виду угол наклона детали относительно ЛСК детали
Математически угол можно определить только в трех случаях:
1) между двумя прямыми,
2) между прямой и плоскостью, и
3) между двумя плоскостями.
(3-й вариант Вам не подходит, т.к. мы ищем углы с осями ЛСК, которые являются прямыми.)

Если отвечать на Ваш вопрос формально, то я совершенно не представляю, каким образом измерить угол наклона детали, которая является, например, шаром, относительно чего-то (того же ЛСК).
Поэтому необходимо конкретизировать вопрос, т.е., указать, относительно каких прямых (прямые ребра детали) или плоскостей (плоские грани детали) нужно определить угол с ЛСК.

Другой вариант, - вероятно, Вы имеете ввиду углы, указанные при вставке Вашей детали в сборку? Тогда вопрос так и нужно было ставить.
В этом случае - Вам сюда:
1) ksPart::GetPlacements
2) ksPlacement::GetAxis