У меня есть вопрос, который может быть очевиден, но у меня проблемы с его устранением ...Изменить координату Системное пространство
У меня есть 2 системы координат. Скажем Oxyz с x (1,0,0), y (0,1,0) и z (0,0,1) и O (0,0,0). И Px'y'z 'с P и x' y 'z' известны.
Моя цель здесь - создать матрицу вращения, которая позволяет мне перейти от Oxyz к Px'y'z '.
То, что я сделал это: вычислить Xangle между вектором Быка и Рх»(по формуле:. Theta = cos(Ox . Px'/||Ox|| * ||Px'||))
И создать XMatrix с помощью тета:
|1 0 0 |
|0 cos(Theta) -sin(Theta) |
|0 sin(Theta) cos(Theta) |
я сделать то же самое для Yangle и Zangle , затем создает 2 соответствующую матрицу. После всего этого, я создаю MFinal = XMatrix * YMatrix * ZMatrix.
Является ли это правильно? Может ли он работает в любом мире?
Спасибо всем! :)
С наилучшими пожеланиями
Вы говорите, что хотите поворот. Вы уверены, что 'x ', y', z'' является ортонормированным базисом R^3? –
Да, это так. Я создаю их с использованием перекрестного продукта. Я уверен, что (x ', y', z ') и (x, y, z) являются ортонормированными базисами R^3 :) –
На самом деле мне нужна матрица поворота от изменения Basis. Но я не понимаю, почему мой метод не работает /: я сделал некоторую модификацию: поставить x 'на плоскость xOy, мне нужно повернуть Ox' вокруг Z и так далее. Но все равно не работает. :/ –