blender 万向坐标轴, 欧拉角 , 3d软件的实际坐标系统 , 陀螺仪做为坐标轴 ,万向节死锁的解释

https://www.cnblogs.com/delphi-xe5/p/12340038.html

https://www.cnblogs.com/delphi-xe5/p/12340039.html

https://www.cnblogs.com/delphi-xe5/p/12340053.html

https://www.cnblogs.com/psklf/p/5656938.html

参考上面 四个资料 。总结自己的理解

1.  欧拉角  分 静态  和动态。  静态就是 旋转的时候坐标轴 不动 。   这个很简单没问题。    动态就是 旋转的时候坐标轴会跟着动,一般说的都是这个 ,一下默认都是讨论 的 坐标轴跟着 动的。

2.欧拉角 有 2 类表示方式。  第一类  zxz   xyx 等等   同一个轴旋转 2次。      第二类 xyz, yzx 等等 一个轴旋转一次。  这两类本质是一样的,因为坐标轴本身就是垂直的, 第三次转动使用第一次的轴没问题。(画一个图,实际转一下就明白,或者在3d软件下模拟一下,或者看这个文章https://www.cnblogs.com/delphi-xe5/p/12340038.html 里的图像演示)

默认情况下 3d软件 使用的都是 xyz 类型的 欧拉角 。

3.欧拉角的缺陷:

欧拉角是在世界坐标系下, 按物体本地坐标系(即前面说的动态,跟着坐标轴动的)旋转的三个角度。   注意 是有顺序的 先x轴转,再y轴转,再z轴转。  当然也可以用其他顺序。总之必须是固定顺序,

所以每一个不同的欧拉角,都是世界坐标系 按顺序的三次旋转得到的(也可理解为局部坐标系, 因为最开始局部坐标系和世界坐标系本身就重合的)。

在角度不动的时候,没有任何缺陷,都是完美。

欧拉角的缺陷是加法问题。 当给角度加上一个值,看看会有什么变化,看看影响是否均衡,看看对最终实际结果有啥影响。

举例子 当另外两个角度不变,其中一个角度变化的时候: 如下:

-------------------------------------------------------------------------

a1:    x轴0度。 y轴30度,  z轴30度  是一个角度。

a2:    x轴10度。 y轴30度,  z轴30度  是一个角度。

a3:    x轴20度。 y轴30度,  z轴30度  是一个角度。

a4:    x轴30度。 y轴30度,  z轴30度  是一个角度。

a5:    x轴40度。 y轴30度,  z轴30度  是一个角度。

a6:    x轴50度。 y轴30度,  z轴30度  是一个角度。

a1-a6    物体的最终实际角度变化很大。(和后面的比较而言)

-----------------------------------------------------------

b1:    x轴30度。 y轴0度,  z轴30度  是一个角度。

b2:    x轴30度。 y轴10度,  z轴30度  是一个角度。

b3:    x轴30度。 y轴20度,  z轴30度  是一个角度。

b4:    x轴30度。 y轴30度,  z轴30度  是一个角度。

b5:    x轴30度。 y轴40度,  z轴30度  是一个角度。

b6:    x轴30度。 y轴50度,  z轴30度  是一个角度。

b1 到 b6 物体的最终实际角度变化中等。

-------------------------------------------------------

c1:    x轴30度。 y轴30度,  z轴0度  是一个角度。

c2:    x轴30度。 y轴30度,  z轴10度  是一个角度。

c3:    x轴30度。 y轴30度,  z轴20度  是一个角度。

c4:    x轴30度。 y轴30度,  z轴30度  是一个角度。

c5:    x轴30度。 y轴30度,  z轴40度  是一个角度。

c6:    x轴30度。 y轴30度,  z轴50度  是一个角度。

c1 到 c6 物体的最终实际角度变化很小。

-----------------------------------------------

总结: 首先:工a1-a6      相比较   b1-b6,c1-c6        来说,a1 -a 6 对最终实际结果影响比较大。

其次  a1 - a6 本身     a6的最终实际变化   大于  a1的最终实际变化。

总结: 就是变化很混乱,严重不均衡。

4 。两个 欧拉角 中间值问题

两个欧拉角的中间值  ,就是 x, y,z 的算数平均值 得到新的欧拉角 。 这没问题。没毛病。完全ok.

先x轴转一个角, 再y轴转一个角 , 再z轴转一个角。  一点问题都没有.

问题在于欧垃角的表达方式看似很合理, 在静态下感觉很合理。

在动态下,也是对的,没错。  但是和人的感觉有冲突。  眼睛的感觉, 从一个角度 转到另一个角度 是直接转过去 , 而且是平滑 平稳的 转过去的。

欧拉角经过三个步骤 也没毛病,是合理的。 但是中间值 不均衡。 为什么不均衡 就是3 说的原因。 因为他本身就不均衡。

所以要使用四元数来解决中间值问题。这才是均衡的。 但是在静态下 四元数不性感 ,还是欧拉角性感。 所以两种方式分别使用。

5  万向节 死锁问题:

这个问题折磨了很久 终于搞通了。    其实这个问题本身不是问题。 是个人的思路,感觉 认识错误 造成的。  理性的理解的话 根本不存在万向节。

注意:(澄清一点 本行之前的x,y,z角度应该用a,g,c来表示。不然容易和坐标轴重复。 因为本行之前不涉及命名重复问题,所以懒的改了。)

这要从 欧拉角 的 旋转顺序说起,a,b,c三个旋转角。   xyz欧拉 方向  (按blender 设置来说 xyz欧拉方向   实际是先旋转c 即绕z轴旋转, 再绕b即y轴旋转, 再绕c即x轴旋转)。  先把已经条件理清除。  不然后面说得都等于0.

假设 m1   :    a=10   , b=20 ,c=30     那么先绕局部坐标z转30,在y20 再x10度 旋转。 得到结果。

m2 :      a=15   , b=25 ,c=35     那么先绕局部坐标z转35,在y25 再x15度 旋转。 得到结果。

这都没问题, 因为都是从 原始坐标旋转得到的。  清注意,所有的欧拉角 都是从原始世界坐标开始旋转得到的。  即使是先旋转了一次, 然后进行第二次旋转。 那么也要先计算 a,b,c角度的分别和。 然后重新 从世界坐标按 z,y, 按顺序旋转出来。(为什么要如此,因为3的原因, 欧拉角本身不均衡,不具备可加性。只能按定义来)

万向节产生的原因 就是当你旋转了一次之后。  再旋转第二次的时候,错误的把第一次旋转当成了基准。    此时你无法解释很多东西,你蒙蔽了,轴也有的转有的不转,这就是所谓的万向节。   他大爷的,终于解释清除了。

6; 万向坐标轴   ,blender 里有一个万向坐标系。

应该就是问题5 的延伸。   当以上一次旋转做为基准的时候,该怎么弄呢?    聪明的陀螺仪出现了。  把陀螺仪做为万向坐标, 就能很好的实现以上一个旋转结果 做为基准 ,进行下面的旋转的要求。

因为陀螺仪 能  把每一次的旋转 都进行线性累加,  陀螺仪 真牛逼。 直接在陀螺仪上旋转 。 可以放弃欧拉角了。 牛逼啊。  陀螺仪的旋转轴, z会影响y,z  。 y会影响x.   所以陀螺仪的y,x坐标会乱跑。但是z坐标稳定。

完结。

7. 万向节死锁, 用陀螺仪当然也能解释万向节死锁显现。 但这是另外一个系统。 和欧拉角无关 。

也就是说 旋转有两套系统 ,一套是欧拉角 系统。       一套是陀螺仪坐标系统(但是坐标会乱跑,甚至不垂直,甚至重合(就是万向节));

3d软件正好使用了  2种方式。

原文地址:https://www.cnblogs.com/delphi-xe5/p/12341005.html

时间: 2024-11-06 20:46:48

blender 万向坐标轴, 欧拉角 , 3d软件的实际坐标系统 , 陀螺仪做为坐标轴 ,万向节死锁的解释的相关文章

Chem 3D软件可以改变背景吗

化学绘图过程中常常需要绘制三维结构的图形,Chem 3D软件是ChemOffice套件中专门用于绘制三维结构的组件.用过它的用户会发现,其背景颜色通常都默认为深蓝色,但是不是每个场景都适合用深蓝色的背景.所以一些用户朋友就希望可以改变背景颜色,下面的ChemDraw教程就来给大家分享一下如何更改Chem 3D软件的背景颜色. 1.更改成单色背景 1)单击File菜单并且选择Model Settings(模型设置)选项,随后弹出Model Settings对话框: 2)在对话框的8个选项标签中单击

【Unity编程】欧拉角与万向节死锁(图文版)

万向节死锁(Gimbal Lock)问题 上文中曾经说过,欧拉旋转的顺规和轴向定义,自然造就了"万向节死锁"问题.本文主要来探索它自然形成的原因. 陀螺仪 首先,我们来了解Gimbal 究竟是个什么玩意儿.下面来自维基百科中关于Gimbal的一段引述: 平衡环架(英语:Gimbal)为一具有枢纽的装置,使得一物体能以单一轴旋转.由彼此垂直的枢纽轴所组成的一组三只平衡环架,则可使架在最内的环架的物体维持旋转轴不变,而应用在船上的陀螺仪.罗盘.饮料杯架等用途上,而不受船体因波浪上下震动.船

欧拉角万向节死锁与四元数的相关资料

欧拉角和四元数都可以用来描述物体的姿态.欧拉角的万向节死锁理解稍微奇怪.四元数原理的理解较为复杂.欧拉角和四元数之间可以做转换. 这里收集了若干资料已做备忘. 欧拉角: 1. 欧拉角基本概念 2.欧拉角的万向节死锁(万向节死锁的理解,不错) 3.万向节死锁视频讲解(万向节死锁的视频讲解,老外) 4. 关于万向节死锁(Gimbal Lock)(万向节死锁的一个解释,还好) 5. 万向节死锁实验讲解视频(老外很用心去解释死锁的概念) 四元数资料: 1. 彻底搞懂四元数(这里有四元数的理解,旋转矩阵,

为什么国外客户愿意把软件交给印度人来做?

因为在硅谷的投资经历,我直接会见过大量在硅印度人的创业公司.在班加罗尔的很多印度软件代工企业,印度的软件外包做得不错,但为什么能做好,媒体上人们分析的原因基本都是不靠谱的. 通过了解印度人的教育结构.以及我直接管理过的印度人做事方式,我充分理解了印度人软件外包做得这么好真正原因所在——是他们远远强于中国人的沟通方式,而不是他们的语言能力. 当年任中兴印度公司CEO不久,我与两个印度员工一起去见客户.他们去之前就列出24个要讨论的问题,用了一上午时间把这24个问题一个一个讨论完了.中午我们到客户办

在ERP软件行业项目应该怎么做?

本人进入软件行业已经有5个年头了,主导实施和参与过的大大小小的项目有20余个.其中有些项目做的非常好,提升了客户企业的管理水平,也规范了企业的业务操作水平,优化了企业的流程,客户非常认同我们实施的价值:也有的项目实施效果一般,客户在应用软件前后没有明显的效果,唯一的成果就是计算机代替了人来汇总一些报表数据:还有的项目实施到一半便被叫停了.被叫停后往往会走向两个极端,一个是更换实施策略和方法重新实施,重新实施后最终效果有可能好也有可能坏.另一个极端便造就了所谓的烂尾工程,造成项目无法交付. 为什么

飞机超过2万个零件是3D打印生产

有两个方法能够帮我们快速衡量社会中增材制造的增长状况,一是看相关专利的申请数量,二是世界500强企业中使用该技术的数量.过去十年里,涉及到3D打印的专利申请数量已飙升超过800,而专利授权数量也大幅上升.与此同时,这个星球上的一些最大的公司也开始应用3D打印技术,或者是它们早就已经这么干了. 就拿波音公司来说吧,根据本周公布的消息,这家公司最近提交了一份专利申请,主要涉及到更换飞机零部件的3D打印应用.这份专利申请可能对波音公司未来的经营产生重大影响. 一种装置,包括一个被配置为存储多个部件定义

万树IT:Android软件开发必学习的0基础内容

如今安卓系统中国的前景市场是非常广阔的,它主要针对的是移动设备市场,而如今智能手机已经占据人们生活不能缺少的一部分.所以,很多行业投入到安卓软件开发,进入到安卓开发的人才也越来越多. 安卓应用软件开发必学习的5大基础内容: 1.编程语言 2.基础应用开发 3.核心组件开发Android论坛交流 4丶安卓论坛交流学习 5.深入开发 Android软件开发必学习的0基础内容 1.编程语言的学习 安卓应用软件开发中有很多的编程语言可以使用,所以应该重点学习以下几种编程语言. ①  C/C++语言.  

欧拉角之万向节死锁

最近阅读<3D数学基础:图形与游戏开发>,看到欧拉角一节,对万向锁感到难以理解.先看一段视频. 欧拉旋转 什么是欧拉角?欧拉角是一种描述物体旋转的方式,使用三个值表示物体在三个互相垂直的轴上的旋转.这里的三个轴是任意相互垂直的三个轴,旋转顺序也是随意的.我们可以按照一定的约定来对物体进行欧拉角旋转.此处使用heading(沿Y轴旋转)—pitch(X轴)—bank(Z轴)的旋转顺序,旋转正方向为从坐标轴正方向望去的顺时针方向. 什么是别名?用欧拉角来表示方位(orientation)的缺点是指

[软件人生]写给想做研究的朋友和还没毕业的学生的几句话

非常久没有给初入行和刚毕业的学生以及没毕业的学生写过什么了. 记得上次写东西,是由于新手的问题http://blog.csdn.net/qingrun/article/details/1458530.算来,已经八年多了.去年在csdn高校俱乐部给几个北京的大学的孩子们讲了点东西.今天,我想谈谈人生和社会的初步规律.以下是一段对话文字,当中关联到近期几个月非常火热的那位厦门大学女博士,以及她抄袭我博文一事,也谈到了正直与虚伪: 顺天 10:08:38 群主大大,谢灵看起来非常正直啊顺天 10:08