欧拉角

  • 优点:三个角度组成,直观,容易理解。

  • 优点:可以进行从一个方向到另一个方向旋转大于180度的角度。

  • 优点:由三个数字实现旋转效率相比要高。

  • 弱点:死锁问题。

四元数

内部由四个数字(在Unity中称为x,y,z和w)组成,然而这些数字不表示角度或轴,并且通常不需要直接访问它们。除非你特别有兴趣深入了解四元数学,你只需要知道四元数表示三维空间中的旋转,你通常不需要知道或修改x,y和z属性。

  • 优点:四元旋转不存在万向节锁问题。

  • 优点:存储空间小,计算效率高。

  • 弱点:单个四元数不能表示在任何方向上超过180度的旋转。

  • 弱点:四元数的数字表示不直观。

矩阵旋转

  • 优点:与四元数一样,不存在万向节锁问题

  • 优点:可以表示围绕任意轴的旋转,四元数的旋转轴均为通过物体中心点的轴,矩阵则不受限

  • 缺点:矩阵旋转使用4x4矩阵,记录16个数值,而四元数只需要4个数值。计算复杂,效率低。

1.欧拉角

用欧拉角来描述刚体在三维欧几里得空间的取向。对于任何参考系,一个刚体的取向,是依照顺序,从这参考系,做三个欧拉角的旋转而设定的。所以,刚体的取向可以用三个基本旋转矩阵来决定。换句话说,任何关于刚体旋转的旋转矩阵是由三个基本旋转矩阵复合而成的。

异常现象:绕着X轴旋转90度后,再绕Y轴旋转此时Y轴没有用了,旋转的角度都归于了Z轴

这种现象叫做万向节死锁

四元数

四元数是复数的不可交换延伸。如把四元数的集合考虑成多维实数空间的话,四元数就代表着一个四维空间,相对于复数为二维空间。

i、j、k仍然理解为旋转,其中:

  • i旋转代表X轴与Y轴相交平面中X轴正向向Y轴正向的旋转

  • j旋转代表Z轴与X轴相交平面中Z轴正向向X轴正向的旋转

  • k旋转代表Y轴与Z轴相交平面中Y轴正向向Z轴正向的旋转

  • -i、-j、-k分别代表i、j、k旋转的反向旋转

一个普通四元数可以写成如下形式:q¯¯=a+bi+cj+dk

案例:让物体绕y轴旋转60度

此时Rotation Y的值为60

四元数和四元数相乘控制旋转

四元数与向量相乘

案例实现人物视角原理 视角 60度

Unity四元数,欧拉角相关推荐

  1. 【Unity3D 灵巧小知识点】☀️ | Unity 四元数、欧拉角 与 方向向量 之间转换

    Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 . 包括游戏开发.美术.建筑.汽车设计.影视在内的所有创作者,借助 Unity 将创意 ...

  2. Unity 旋转欧拉角及万向锁问题

    先说明unity 3D欧拉角的旋转顺序(父子关系)是y-x-z.即旋转y轴x和z轴都变,旋转x轴只有z轴变化,旋转z轴其它轴不变. 模型坐标系 又称物体坐标系. 与特定的物体关联,每个物体都有自己特定 ...

  3. OpenGL相机自由移动旋转缩放,四元数,欧拉角,LookAt

    OpenGL相机自由移动旋转缩放,四元数,欧拉角,LookAt 定义相机 摄像机位置 右轴 上轴 Look At 自由移动相机 左右移动 移动速度 视角移动 欧拉角 通过欧拉角计算实际的方向向量 缩放 ...

  4. unity 旋转欧拉角 万向锁 解释

    万向锁 一直困惑我很久....原因出在这里,我以为欧拉角旋转是以模型坐标(齐次坐标系)为旋转轴.问题就来了,无论旋转那个轴,其它两个轴也会相应的变化,下面看图: 根据上面的说明两个旋转面(圆圈)怎么会 ...

  5. Unity 四元数和向量相乘

    Unity 四元数和向量相乘 原创 2016年12月08日 16:51:35 标签: unity3d position = rotation*Vector3(0.0, 0.0, -distance)  ...

  6. Unity手游之路四3d旋转-四元数,欧拉角和变幻矩阵

    http://blog.csdn.net/janeky/article/details/17272625 今天我们来谈谈关于Unity中的旋转.主要有三种方式.变换矩阵,四元数和欧拉角. 定义 变换矩 ...

  7. Unity的旋转-四元数,欧拉角用法简介

    当初弄不明白旋转..居然找不到资料四元数应该用轴角相乘... 通过两种旋转的配合,可以告别世界空间和本地空间矩阵转换了,大大提升效率. 每个轴相乘即可,可以任意轴,无限乘.无万向节锁问题 四元数旋转: ...

  8. unity 四元数和欧拉角的相互转换

    四元数和欧拉角相互转换 //四元数转化成欧拉角 Vector3 v3=transform.rotation.eulerAngles; //欧拉角转换成四元数 Quaternion rotation = ...

  9. 关于Unity四元数相乘先后顺序的问题

    在unity中四元数和向量相乘可以变换旋转.四元数之间相乘类似矩阵之间相乘的效果. 矩阵相乘的顺序不可互换,只有特殊条件矩阵才可互换.四元数相乘类似,今天就因为这个问题掉进坑里了,记录一下 问题大致是 ...

  10. 惯性导航原理之姿态算法-四元数欧拉角等效转动矢量

    四元数乘积的三种表达形式,并推导其矢量形式   四元数和欧拉角之间的表达式   等效转动矢量的另外表达形式  捷联导航系统中姿态算法的发展方向和现状. 欧拉角法:           欧拉角法 (又称 ...

最新文章

  1. 为什么 IPv6 难以取代 IPv4
  2. double取整数部分_剑指offer_16_数值的整数次方
  3. java文件读写不完整_Java读取文件内容不完整
  4. unity android 集成指南
  5. 数据库:内联接,外联接,空值和联接
  6. MongoDB的基本shell操作(三)
  7. php redis与me m,Redis(十) —— 为php增加redis扩展
  8. c# 判断是否为数组_c# – 如何检查反射类型是否为数组
  9. python移除字符串中指定元素_Python – 从作为另一个元素的子串的字符串列表中删除任何元素...
  10. org manual翻译--3.6 Org-Plot
  11. php等待参数跳转,Thinkphp页面跳转设置跳转等待时间的操作
  12. 内存泄漏(memory leak)的理解与应用
  13. EN 45545-2T10水平法烟密度检测的注意事项
  14. 【实用】网页内容监控并实时推送百度解决方案
  15. 电脑出现您的计算机配置似乎正确的,Win10提示你的计算机配置似乎是正确的怎么解决?...
  16. unity 3d实例:创建游戏对象、旋转的立方体、Unity3D Button、图片按钮、Box控件、Label控件、Background Color、Color
  17. 心形线方程-Geek献给女友的爱意情人节
  18. rtthread 串口dma接收_RT-Thread 设备驱动UART浅析
  19. java工程师应届生工资一般多少,附架构师必备技术详解
  20. Java基础学习系列--(五)【迭代器,数据结构,List,Set ,TreeSet集合,Collections工具类】

热门文章

  1. 金牛判势 精品起涨预警 主升浪起爆点指标 通达信绝对精准买点指标选股公式
  2. 伺服电机三环控制的原理(位置环,运动环,电流环)
  3. c安卓开发视频教程!我把所有Android第三方库整理成了PDF,醍醐灌顶!
  4. php 检查货币类型_php型【货币问答】- php型所有答案 - 联合货币
  5. 锐浪报表数据源access_锐浪报表应用系列三
  6. P6035CDN打印机 kyocera_京瓷P7040cdn打印机驱动下载
  7. VMWare 安装XP-SP3虚拟机
  8. windows bat批量创建文件夹与文件
  9. 电脑录屏的html文件,如何在电脑录制网页视频及网页录音?
  10. PHY寄存器驱动调试总结