当前位置: 首页 > 网络应用技术

右手坐标系,空间旋转公式和实现代码(Python和C ++程序)

时间:2023-03-05 21:22:23 网络应用技术

  右手坐标系如下:

  也许许多人仍然不记得。我个人总结了两个技巧,很容易记住:

  如下所示,我绘制的正确手动坐标系统:

  例如,顺时针旋转90度。为了考虑,我们需要弄清楚这90度的旋转方式:

  例如:(2,0,3)绕X轴旋转90度,旋转后的坐标为:(2,3,0)

  第一个假设:

  以下是对某些内容的简单描述:

  1.和平的相互conversion依(对角度和弯曲参考的更多介绍)

  2. Python模块和模块计算正弦罪和Yu字符串cos输入的参数值。

  如下所示,计算:

  1.旋转:

  $ 10 [x^{prime},y^{prime},z^{prime},1 ight] = [x,y,z,1]左[开始{array} {cccc} cos gamma&sin&sin gamma&0&0 -sin gamma&cos gamma&cos gamma&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1 end {array} ight] $ $

  那么公式可以表示为:

  $ $ begin {array} {l} x^{prime} = cos gamma cdot x-sin gamma cdot y y^y^{prime} = sin gamma cdot x+cos gamma cdot y z^prime z^{prime} = z end {array {array {array {array {array {array {array {array {array {array

  2.实施

  3.实施

  1.旋转:

  $ 10 [x^{prime},y^{prime},z^{prime},1 ight] = [x,y,z,1]左[begin {array} {cccc} cos beta&0&-sin beta&0&0&0&0&0&0&0&cos beta&0&0&0&0&0&0&0&0&0&0&0&1结束{array} ight] $ $

  那么公式可以表示为:

  $ $ begin {array} {l} x^{prime} = cos beta cdot x+sin beta beta beta z y^{prime} = y z^{prime} = -sin beta beta beta beta cdot x end {array} {array} {array} {array} $} $

  2.实施

  3.实施

  1.旋转:

  $ 10 [x^{prime},y^{prime},z^{prime},1 ight] = [x,y,z,1]左[开始{array} {cccc} 1&0&0&0&0&0&0&0 0&-sin alpha&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&0&1 end {array} ight] $ $

  那么公式可以表示为:

  $ $ begin {array} {l} x^{prime} = x y^{prime} = cos alpha cdot y-sin alpha alpha cdot z^{prime} = sin alpha cdot yo}

  2.实施

  3.实施

  完整代码:

  如果您看一下维基百科,您会发现我们围绕维基百科上每个轴的旋转矩阵,倾斜角的两个sin窦值的正数被交换。这可能与坐标系统的选择有关。我们在这里选择!

  参考参考:https://www.cnblogs.com/singlex/p/3dpointrotate.html