Skip to content

Quaternion Axis-Angle Representation

Reference

定义一个旋转轴旋转角,得到一个 Delta Quaternion,将这个 Delta 乘在任意方向向量上即可应用旋转。

意义:让一条方向向量绕任意轴旋转。

Unity C# 举例:

c
// 1. Create the rotation 
// Rotate 90 degree around the world Y axis. 
var delta = Quaternion.AngleAxis(90f, new Vector3(0, 1, 0));

// 2. Apply the rotation to a vector 
var originalDirection = new Vector3(1, 0, 0);
var newDirection = delta * originalDirection;

Houdini VEX 举例:

c
vector4 delta = quaternion(1.57, set(0,1,0));
vector originalDirection = set(-1,0,0);
vector newDirection = qrotate(aaa, a);