mindsponge.common.rigids_mul_rots

查看源文件
mindsponge.common.rigids_mul_rots(x, y)[源代码]

使用旋转矩阵 \(\vec y\) 对刚体变换 \(x\) 进行旋转。

即使用 rots_mul_rots 让旋转矩阵 \(\vec y\) 与刚体的旋转矩阵 \(x[0]\) 相乘,平移距离不发生变化。

\[(r, t) = (x_ry, x_t)\]
参数:
  • x (tuple) - 刚体变换 \(x\) ,长度为2,包含旋转矩阵 \(x_r = (xx, xy, xz, yx, yy, yz, zx, zy, zz)\) 与平移距离 \(x_t = (x, y, z)\) ,数据类型为标量或者shape相同的Tensor。

  • y (tuple) - 旋转矩阵 \(\vec y\) ,长度为9,数据类型为标量或者shape相同的Tensor。

返回:

tuple(rots, trans),长度为2,包含刚体进一步旋转后的旋转矩阵与未发生变化的平移距离。

支持平台:

Ascend GPU

样例:

>>> import mindsponge
>>> a = ((1, 2, 3, 4, 5, 6, 7, 8, 9), (3, 4, 5))
>>> b = (2, 3, 4, 1, 5, 6, 3, 8, 7)
>>> b1 = mindsponge.common.rigids_mul_rots(a,b)
>>> print(b1)
((13, 37, 37, 31, 85, 88, 49, 133, 139), (3, 4, 5))