我有三维点集躺在垂直平面上。该平面不平行于X或Y轴,但与X轴形成一个角度(比如θ)。还有一些(+或 - )截取到X轴。如何将XYZ坐标转换为另一个2D系统
现在,我想更新我的X轴平行于我的飞机的方位角方向。然后我想躺在垂直于XY平面的平面上。所以,我想我可以使用我的原始Z坐标作为新的Y坐标。当平面位于XY平面上时,不应再有Z坐标。所以,我想知道如何从原始的XYZ和θ中获得新的X坐标。
其实,我想在C++中实现这个修改。但我的数学能力非常差,并且很难弄清楚应该是什么公式。
做完这个之后,我想用新的XY点坐标进行一些处理。最后,我想把我的所有坐标恢复到原始系统。最后我想回到我原来的XYZ轴。所以我也看着你的助手也得到这个案例。
您的助手非常感谢。
注:所以我做的是; 我找到了平面的方位角,然后将点数据相对于最小的X
和Y
,即我的点集的左下角的XY坐标移动。然后,我得到了新的X,Y为(X“ Y”):
X' = X * cos (θ) + Y * sin(θ)
Y' = Z
不知道我的方法是否正确或不..我喜欢学习这一点。
COS和正弦函数需要用来解决问题。此外,将平面与初始坐标系对齐比将坐标系对齐到平面更方便快捷。计算机图形学是您需要熟悉的主题。转换矩阵也可能有所帮助.. – Akshay 2013-02-26 11:28:44
首先尝试在两个维度做它。如果你不能解决问题,请展示你的尝试。 – 2013-02-26 11:30:01
@Peter Wood:我更新了我所做的文章 – gnp 2013-02-26 11:58:08