如何改变坐标的手性?

时间:2010-04-29 07:42:09

标签: math 3d euler-angles

如何转换欧拉的坐标     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表示。

1 个答案:

答案 0 :(得分:0)

最后这个解决方案对我有用:

Point6DoF right = new Point6DoF(
    -left.X, left.Y, left.Z,-left.Yaw, left.Pitch, -left.Roll)

其中Point6DoF是保持位置和欧拉角度的类。