Преобразование матрицы преобразования RH 4x4 в матрицу преобразования LH (Unity) - PullRequest
1 голос
/ 27 марта 2019

У меня есть документ PLMXML (Siemens NX / JT2Go), который содержит различные матрицы преобразования 4x4 для различных моделей, система координат которых:

Right Handed
negative X forward
positive Z up
positive y right

Я хочу импортировать модели в Unity путем преобразования их соответствующих матриц преобразования.

Я читал во многих местах, что ось можно поменять местами, и это должно работать. Мои знания о матрицах, по меньшей мере, устарели, но я знаю, что следующая матрица должна дать мне необходимое изменение базы:

| 0 1 0 0 |
| 0 0 1 0 | = rhsToLhs
|-1 0 0 0 |
| 0 0 0 1 | 

со следующим умножением:

unityTransform = rhsToLhs * PLMTransform * rhsToLhs;

но это не работает.

У меня вопрос: какие шаги я должен предпринять, чтобы выполнить это правильно?

Я не знаю порядок, в котором составляется матрица вращения для PLMXML, поэтому я не думаю, что могу просто извлечь ее из матрицы преобразования и манипулировать ею с версией 3x3 вышеупомянутой матрицы.

Как я уже сказал, я довольно ржавый с матрицами, и если кто-то сможет подтолкнуть меня в правильном направлении, я буду очень признателен.

Спасибо за чтение.

...