旋转标准笛卡尔坐标系,使 z 轴平行于给定向量

Rotating the standard Cartesian coordinate system to make the z-axis parallel to the given vector

提问人:Shubham Tiwari 提问时间:4/18/2023 最后编辑:Sylvester Kruin - try CodidactShubham Tiwari 更新时间:4/21/2023 访问量:59

问:

在标准笛卡尔坐标系中有一个向量。现在我想旋转标准笛卡尔坐标系,使 z 轴平行于向量。P = (Px, Py, Pz)P

我所做的是以下几点:

  1. 首先,我对向量 P 进行了归一化,并计算了归一化向量 P (P_proj) 在 xz 平面上的投影。

  2. 我已经计算了 z 轴和P_proj轴之间的角度 (θ)。

  3. 我以 θ 度绕 y 轴旋转笛卡尔坐标系。z 轴平行于 P_proj,并将其命名为 z1 轴。

  4. 我计算了向量(在系统旋转后更新)和 z1 轴 (φ) 之间的角度,并以一定角度再次绕 x1 轴旋转笛卡尔坐标系。现在这个 z2 轴在第二次旋转后将平行于向量。P_newP

数学 向量 旋转矩阵

评论

0赞 db-inf 4/18/2023
我想你希望你的坐标系保持笛卡尔。但即便如此,您也必须决定一个额外的约束。使 Z 轴平行于向量 P,使 X 轴和 Y 轴在与 P 正交的平面上自由旋转 360°。

答:

0赞 Simon Goater 4/18/2023 #1

使用叉积 X。如果 Qhat 是任何不等于或接近等于 Phat 的单位向量,则最好是 |帕特·卡特|< 0.5 说,那么你可以使用

z = Phat

x = (Phat X Qhat) / |Phat X Qhat|

y = (Qhat X x) / |Qhat X x|