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.

它们是紧凑的,不会出现万向节锁并且能够很容易被插值。Unity内使用Quaternion表示所有旋转。

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.LookRotationQuaternion.Angle,Quaternion.EulerQuaternion.SlerpQuaternion.FromToRotationQuaternion.identity

然而,它们基于复数的并不容易被直观地理解,因此你没有必要访问或修改单个Quaternion组件(x,y,z,w);通常你只需把现有的旋转(例如,来自Transform)并使用它们来构造新的旋转(例如,在两个旋转间平滑地插值)。四元数函数你99%的时间你会使用它(其他函数仅额外使用)Quaternion.LookRotationQuaternion.AngleQuaternion.EulerQuaternion.Slerp,Quaternion.FromToRotationQuaternion.identity

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

你可以使用Quaternion.operator *由另一个四元数来旋转一个旋转角度,或由一个旋转角度来旋转一个向量。

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度(像这样的顺序)。

Quaternion 四元数的更多相关文章

  1. [Unity Quaternion]四元数Quaternion的计算方式

    什么是Quaternion四元数 1843年,William Rowan Hamilton发明了四元数,但直到1985年才有一个叫Ken Shoemake的人将四元数引入计算机图形学处理领域.四元数在 ...

  2. Unity3D_(API)Quaternion四元数中的Quaternion.LookRotation()

    四元数百度百科: 传送门 四元数官方文档: 传送门 欧拉旋转.四元数.矩阵旋转之间的差异: 传送门 四元数转换为欧拉角eulerAngles 官方文档: 传送门 欧拉角转换为四元数Euler 官方文档 ...

  3. cocos2dx Quaternion 四元数(1/2)

    这篇文章只是我学完四元数之后的一些理解,其实是对别人理解的理解,有些地方我理解但是没有写下来,如果真的想深入的学习四元数,建议从学习复数开始. 这个知识点需要几何想象的天赋和学习的耐心,缺一不可,慢慢 ...

  4. 学习和研究下unity3d的四元数 Quaternion

    学习和研究下unity3d的四元数 Quaternion 今天准备学习和研究下unity3d的四元数 Quaternion 四元数在电脑图形学中用于表示物体的旋转,在unity中由x,y,z,w 表示 ...

  5. unity3d的四元数 Quaternion

    原地址:http://www.cnblogs.com/88999660/archive/2013/04/02/2995074.html 今天准备学习和研究下unity3d的四元数 Quaternion ...

  6. 关于Rotation和Quaternion的一些问题

    当我们使用unity的时候,面对一个物体,一个不可避免的问题就是:控制物体的旋转. unity的Transform组件的第二个属性Rotation为我们提供控制物体旋转的功能.在一个物体的Inspec ...

  7. three.js 欧拉角和四元数

    这篇郭先生就来说说欧拉角和四元数,欧拉角和四元数的优缺点是老生常谈的话题了,使用条件我就不多说了,我只说一下使用方法. 1. 欧拉角(Euler) 欧拉角描述一个旋转变换,通过指定轴顺序和其各个轴向上 ...

  8. 【腾讯Bugly干货分享】WebVR如此近-three.js的WebVR示例解析

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57c7ff1689a6c9121b1adb16 作者:苏晏烨 关于WebVR 最 ...

  9. Unity3D 脚本手册

    1.private Ray ray;  --定义射线 ray = Camera.main.ScreenPointToRay(Input.mousePosition);  --摄像机发出的射线投射鼠标到 ...

随机推荐

  1. Linux Ubuntu mysql 乱码

    进入mysql后,敲入命令status,就可以看到mysql的字符编码问题. 默认如下: Server characterset:    latin1 Db  characterset:    lat ...

  2. ACdream 1210 Chinese Girls' Amusement(高精度)

     Chinese Girls' Amusement Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & ...

  3. Windows下安装Redis并注册为服务

    1.安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统平台的实际情况选择,这里我们下 ...

  4. Microsoft SilverLightt是一个跨浏览器的、跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序。

    Microsoft Silverlight是一个跨浏览器的.跨平台的插件,为网络带来下一代基于.NETFramework的媒体体验和丰富的交互式应用程序.Silverlight提供灵活的编程模型,并可 ...

  5. 用 gdb 调试 GCC 程序【转】

    用 GDB 调试程序 原著:Rick McMullin 用 gdb 调试 GCC 程序 转自:http://blog.csdn.net/bonnshore/article/details/795542 ...

  6. 无法解析的外部符号 "public: static void __cdecl std::_String_base::_Xran(void)" (?_Xran@_String_base@std@@SAXXZ)"

    采用下面的方法.重新编译了一下依赖的库,OK了.   问题描述: 今天用VS2010编译一个在VS2008下Coding的工程的时候,VS给出了一堆链接错误信息,如下图所示: 在ErrorList里面 ...

  7. 5.OpenStack添加镜像服务

    添加镜像服务 这里是安装在控制器上 创建数据库 mysql -uroot -ptoyo123 CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glanc ...

  8. 前端知识学习——html

    <!-- Html,CSS,JS 三者的关系 ==> 人,衣服,动作. 以下展示 html 常用基本编码 --><!-- Html 在PyCharm中新建html文件默认给出的 ...

  9. 【linux高级程序设计】(第十五章)UDP网络编程应用 4

    socket信号驱动 为了使一个套接字能够使用信号驱动I/O,至少需要以下3步操作. 1.安装SIGIO信号 2.套接字的拥有者设定为当前进程.因为SIGIO信号只会送到socket拥有者进程. 通过 ...

  10. (20)C#泛型

    泛型的定义:通过参数化类型来实现在同一份代码上操作多种数据类型.泛型编程时一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用. 优点: 1.省去了拆箱.装箱 2.提高安全性 3. ...