mindsponge.common.quat_affine
- mindsponge.common.quat_affine(quaternion, translation, rotation=None, normalize=True, unstack_inputs=False, use_numpy=False)[源代码]
基于旋转矩阵与平移向量生成仿射变换。
- 参数:
quaternion (tensor) - shape为 \((N_{res}, 4)\) 。
translation (tensor) - shape为 \((N_{res}, 3)\) 。
rotation (tensor) - 旋转矩阵,shape为 \((N_{res}, 9)\) 。
normalize (bool) - 是否归一化,默认值:
True
。unstack_inputs (bool) - 输入为向量(
True
)还是张量(False
),默认值:False
。use_numpy (bool) - 是否使用numpy计算,默认值:
False
。
- 返回:
返回仿射变换后结果。
四元数 (tensor),shape为 \((N_{res}, 4)\) 。
旋转矩阵 (tuple) \((xx, xy, xz, yx, yy, yz, zx, zy, zz)\) ,每个元素shape为 \((N_{res},)\) 。
平移向量 (tensor),shape为 \((N_{res}, 3)\) 。
- 支持平台:
Ascend
GPU
样例:
>>> import numpy as np >>> import mindspore as ms >>> from mindspore import Tensor >>> from mindsponge.common.geometry import quat_affine >>> input_0 = Tensor(np.ones((256, 4)), ms.float32) >>> input_1 = Tensor(np.ones((256, 3)), ms.float32) >>> qua, rot, trans = quat_affine(input_0, input_1) >>> print(qua.shape, len(rot), rot[0].shape, trans.shape) (256, 4), 9, (256,), (256, 3)