# Quaternion 四元数

Struct

Quaternions are used to represent rotations.

They are compact, don't suffer from gimbal lock and can easily be interpolated. Unity internally uses Quaternions to represent all rotations.

However, they are based on complex numbers and are not easy to understand intuitively. Thus you almost never access or modify individual Quaternion components (x,y,z,w); most often you would just take existing rotations (e.g. from the Transform) and use them to construct new rotations (e.g. to smoothly interpolate between two rotations). The Quaternion functions that you use 99% of the time (The other functions are only for exoctic uses) Quaternion.LookRotation, Quaternion.Angle, Quaternion.Euler, Quaternion.Slerp, Quaternion.FromToRotation, Quaternion.identity

You can use Quaternion.operator * to rotate one rotation by another, or to rotate a vector by a rotation.

### Variables变量

• X component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
四元数的X组件。不要直接修改这个，除非你很了解四元数。
• Y component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
四元数的Y组件。不要直接修改这个，除非你很了解四元数。
• Z component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
四元数的Z组件。不要直接修改这个，除非你很了解四元数。
• W component of the Quaternion. Don't modify this directly unless you know quaternions inside out.
四元数的W组件。不要直接修改这个，除非你很了解四元数。
• Access the x, y, z, w components using [0], [1], [2], [3] respectively.
分别使用 [0]、[1]、 [2]、 [3]，访问x、y、z、w组件。
• Returns the euler angle representation of the rotation.
返回表示旋转的欧拉角度。

### Constructors构造器

• Constructs new Quaternion with given x,y,z,w components.
用给定的x、y、z、w组件，构造新的四元数。

### Functions函数

• Converts a rotation to angle-axis representation.
转换一个旋转用“角-轴”表示。
• Creates a rotation which rotates from fromDirection to toDirection.
创建一个从fromDirection到toDirection的旋转。
• Creates a rotation that looks along forward with the the head upwards along upwards
创建一个旋转，沿着forward（z轴）并且头部沿着up（y轴）的约束注视。
• Returns a nicely formatted string of the Quaternion
返回一个格式化好的四元数字符串。

### Class Variables类变量

• The identity rotation (Read Only). This quaternion corresponds to "no rotation": the object
同一性旋转（只读）。该四元数，相当于"无旋转"：这个物体完全对齐于世界或父轴。

### Class Functions类函数

• Combines rotations lhs and rhs.
组合旋转lhs和rhs。
• Are two quaternions equal to each other?
两个四元数相等？
• Are two quaternions different from each other?
两个四元数是不相等的？
• The dot product between two rotations.
两个旋转之间的点乘。
• Creates a rotation which rotates angle degrees around axis.
绕axis轴旋转angle，创建一个旋转。
• Creates a rotation which rotates from fromDirection to toDirection.
从fromDirection到toDirection创建一个旋转。
• Creates a rotation that looks along forward with the the head upwards along upwards
创建一个旋转，沿着forward（z轴）并且头部沿着upwards（y轴）的约束注视。
• Spherically interpolates from towards to by t.
球形插值，通过t值from向to之间插值。
• Interpolates from towards to by t and normalizes the result afterwards.
通过t值from向to之间插值，并且规范化结果。
• Rotates a rotation from towards to.
旋转一个角度从from向to。
• Returns the Inverse of rotation.
返回反向的旋转。
• Returns the angle in degrees between two rotations a and b.
返回a和b两者之间的角度。
• Returns a rotation that rotates z degrees around the z axis, x degrees around the x axis, and y degrees around the y axis (in that order).
返回一个旋转角度，绕z轴旋转z度，绕x轴旋转x度，绕y轴旋转y度（像这样的顺序）。
Page last updated: 2012-7-21