如何转换欧拉的坐标 E1 =(x1,y1,z1,yaw1,pitch1,roll1) 到E2 =(x2,y2,z2,yaw2,pitch2,roll2) 其中x,y,z是点的坐标 和偏航,俯仰,滚动原点为点的矢量的方向/方向。 偏航在y附近,在x周围倾斜,在z周围滚动。它们按此顺序执行。偏航0与平面xy垂直(与E1中的z相反,在E2中等于z)。
E1使用右手空间,E2使用左手空间。 两者都具有相同的原点,y(顶部)和z(进入屏幕)的方向相同。 它们相差x,它在E1的左边和E2的右边。 它们的正旋转方向也不同。
我有一个自定义类型来保存标量表示并转换为等效的WPF Matrix3d表示。
答案 0 :(得分:0)
最后这个解决方案对我有用:
Point6DoF right = new Point6DoF(
-left.X, left.Y, left.Z,-left.Yaw, left.Pitch, -left.Roll)
其中Point6DoF是保持位置和欧拉角度的类。