В чем разница между camera.transform и eulerAngles в ARKit? - PullRequest
0 голосов
/ 26 ноября 2018

Согласно документу ARKit, т. Е. ARCamera , я вижу, что есть 2 способа описания ориентации камеры: camera.transform и eulerAngles .Сначала я преобразовываю матрицу вращения frame.camera в углы Эйлера, а затем выходные значения не равны eulerAngle значениям.

Почему?В чем разница между значениями camera.transform и eulerAngle в ARKit?

Подробности преобразования описаны следующим образом.

Используйте функцию в библиотеке Eigen для получения углов Эйлера,Rx.eulerAngles(0, 1, 2), где Rx - матрица вращения frame.camera.transform.

Например:

frame.camera.transform:
Rx = 

[ -0.0443775,  -0.900017,   0.433589;

  0.998663, -0.0284454,   0.043167;

-0.0265174,   0.434925,   0.900076; ]

Выходы Rx.eulerAngles(0, 1, 2) равны [ 3.09367, 2.69312, -1.52153]

eulerAngle значения [ -0.449955, -0.0294528, -1.60239]

1 Ответ

0 голосов
/ 28 ноября 2018

Преобразование дает вам информацию о положении, углах и масштабе узла, а углы Эйлера говорят только об углах, т. Е. Тангаж и крен.

...