【发布时间】:2014-02-25 02:47:55
【问题描述】:
从一个三维笛卡尔坐标,对象A的坐标可以表示为xyzwpr(绿色箭头)。而从物体A的坐标世界,物体B也可以表示为xyzwpr(蓝色箭头)。
那么任何人都可以写出计算对象B相对于原始坐标系(红色箭头)的xyzwpr的C#代码吗?
假设 A 的坐标是 (30,50,70, -15,44,-80) B (60,90,110, 33,150,-90)。
说旋转的顺序是yaw(z)-> pitch(x) -> roll(y)
--- 编辑 ---
任何人都可以验证以下假设吗?
假设 B 点的 xyz。
B点的xyz,较小的飞机,可以通过将A点的xyz,第一架飞机,和B的xyz相加,然后将A的wpr的3d旋转应用于A的xyz。
这样做的顺序是;
1) 将A点平移到原点(减去由-Ax,-Ay,-Az平移的A)
2)绕原点旋转(可以使用A的3×3矩阵R0)
3) 然后翻译回来。 (添加由+Ax,+Ay,+Az翻译的A)
假设 B 点的 wpr 只是两点的连续旋转。 AwApArBwBpBr.
--- 已解决。一些带有详细解释和代码的参考资料---
Global frame-of-reference VS Local frame-of-reference
【问题讨论】:
标签: rotation cartesian-coordinates