在尝试理解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,或者我遗漏了什么?
感谢您的帮助。
答案 0 :(得分:1)
您对四元数的理解是完全正确的。但我想也许你对球形坐标系中theta
和phi
的使用方式感到困惑。
见图here,这个惯例是众所周知的。对于theta = 60
,phi = 0
,该点位于zx平面中,与z轴成60度角。因此,您需要围绕y轴旋转60度,以将北极传输到此点。