小能豆

在 numpy 中通过球面坐标创建四元数

py

在尝试理解 numpy 四元数扩展的用法时,我看到

import numpy as np
import quaternion as q

theta = np.pi * 1.0 / 3.0
phi = 0.0

print(q.from_spherical_coords(theta,phi))

打印出来

(quaternion(0.866025403784439, -0, 0.5, 0))

这个四元数绕 Y 轴旋转 60 度,但我预计只绕 Z 轴旋转 60 度,因为 phi 是 0.0。theta 和 phi 是否相对于源文件发生了变化,还是我遗漏了什么?


阅读 23

收藏
2024-12-24

共1个答案

小能豆

你对四元数的理解完全正确。但我想你可能对球坐标系中theta和的用法感到困惑。phi

参见此处的图片,这个惯例是众所周知的。对于theta = 60,,phi = 0该点位于 zx 平面中,与 z 轴成 60 度角。因此,您需要绕 y 轴旋转 60 度才能将北极传送到该点。

2024-12-24