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. 使用select2插件并添加拼音首字母检索

    项目中要使用下拉检索的时候要支持拼音首字母.本来拼音可以写后台,这里放前台了. 放代码 1. pinyin.js ,最后为了使用方便,直接为string对象添加了扩展方法 /* File Create ...

  2. npoi导出excel 导出List<T>

    using System.Collections.Generic; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSS ...

  3. pycharm远程登录mysql

    pycharm远程登录mysqlmysql远程登录需要修改配置文件:cd /etc/mysql/mysql.conf.d/sudo vim mysqld.cn修改bing-address=0.0.0. ...

  4. UVALIVE 2927 "Shortest" pair of paths

    裸的费用流.一开始因为这句话还觉得要拆点 样例行不通不知道这句话干啥用的.Further, the company cannot place the two chemicals in same dep ...

  5. 自己写操作系统 2 - 安装bochs虚拟机

    以ubuntu操作系统为例 一.命令行安装 sudo apt-get install vgabios bochs bochs-x bximage 此方法方便,不过都说这个方法安装的bochs没有调试功 ...

  6. 用Python抓取指定页面

    #encoding:UTF-8 import urllib.request url = "http://www.baidu.com" data = urllib.request.u ...

  7. poj 1981(单位圆覆盖最多点问题模板)

    Circle and Points Time Limit: 5000MS   Memory Limit: 30000K Total Submissions: 7327   Accepted: 2651 ...

  8. MSSQL纵列转横列

    在工作中我们一般会遇到将纵列转横列的需求,具体代码: 1.建表 CREATE TABLE [dbo].[AcrossChangeEndLong]( ,) NOT NULL, ) NOT NULL, ) ...

  9. POJ 2689.Prime Distance-区间筛素数

    最近改自己的错误代码改到要上天,心累. 这是迄今为止写的最心累的博客. Prime Distance Time Limit: 1000MS   Memory Limit: 65536K Total S ...

  10. AppScan 浏览器兼容解决

    手动探索的时候,因为打开的浏览器是appscan自带的,可能会存在兼容性问题,有些页面无法正常打开.那么是否可以用我们电脑上的浏览器(IE .火狐.谷歌)来进行录制 菜单栏--工具---选项----首 ...