mindscience.e3nn.o3.angles_to_matrix

mindscience.e3nn.o3.angles_to_matrix(alpha, beta, gamma)[源代码]

将欧拉角 \((\alpha, \beta, \gamma)\) 转换为对应的 \(3 \times 3\) 旋转矩阵。 结果矩阵表示如下旋转:

\[R = R_y(\alpha) \cdot R_x(\beta) \cdot R_y(\gamma)\]
参数:
  • alpha (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) - alpha 欧拉角。形状为 \((...)\) 的张量。

  • beta (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) - beta 欧拉角。形状为 \((...)\) 的张量。

  • gamma (Union[Tensor[float32], list[float], tuple[float], ndarray[np.float32], float]) - gamma 欧拉角。形状为 \((...)\) 的张量。

返回:

Tensor,旋转矩阵。输出形状为 \((..., 3, 3)\)

样例:

>>> from mindscience.e3nn.o3 import angles_to_matrix
>>> m = angles_to_matrix(0.4, 0.5, 0.6)
>>> print(m)
[[ 0.5672197   0.1866971   0.8021259 ]
[ 0.27070403  0.87758255 -0.395687  ]
[-0.77780527  0.44158012  0.4472424 ]]