四元数的可视化(来自bilibili

How to think about this 4d number system in our 3d space.

Brought to you by you: http://3b1b.co/quaternion-thanks

Part 2: https://youtu.be/zjMuIxRvygQ

Interactive version of these visuals: http://3imaginary1real.com

Quanta article on quaternions: https://www.quantamagazine.org/the-st…

The math of Alice in Wonderland: https://www.newscientist.com/article/…


作者:Yang Eninala
链接:http://www.zhihu.com/question/23005815/answer/33971127
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

根据我的理解,大多数人用汉密尔顿四元数就只是做三维空间的旋转变换(我反正没见过其他用法)。那么你不用学群论,甚至不用复习线性代数,看我下面的几张图就可以了。

首先,定义一个你需要做的旋转。旋转轴为向量v=(vx,vy,vz),旋转角度为\theta (右手法则的旋转)。如下图所示:
此图中v=(\frac{1}{\sqrt{14} } ,\frac{2}{\sqrt{14} } ,\frac{3}{\sqrt{14} }),\theta =\frac{\pi }{3}

那么与此相对应的四元数(下三行式子都是一个意思,只是不同的表达形式)
q=(cos(\frac{\theta }{2} ),sin(\frac{\theta }{2} )*vx,sin(\frac{\theta }{2} )*vy,sin(\frac{\theta }{2} )*vz)
q=(cos(\frac{\pi }{6} ),sin(\frac{\pi }{6} )*\frac{1}{\sqrt{14} } ,sin(\frac{\pi }{6} )*\frac{2}{\sqrt{14} },sin(\frac{\pi }{6} )*\frac{3}{\sqrt{14} })
q=cos(\frac{\pi }{6} )+sin(\frac{\pi }{6} )*\frac{1}{\sqrt{14} }i +sin(\frac{\pi }{6} )*\frac{2}{\sqrt{14} }j+sin(\frac{\pi }{6} )*\frac{3}{\sqrt{14} }k

这时它的共轭(下三行式子都是一个意思,只是不同的表达形式),
q^{-1} =(cos(\frac{\theta }{2} ),-sin(\frac{\theta }{2} )*vx,-sin(\frac{\theta }{2} )*vy,-sin(\frac{\theta }{2} )*vz)
q^{-1} =(cos(\frac{\pi }{6} ),-sin(\frac{\pi }{6} )*\frac{1}{\sqrt{14} } ,-sin(\frac{\pi }{6} )*\frac{2}{\sqrt{14} },-sin(\frac{\pi }{6} )*\frac{3}{\sqrt{14} })
q^{-1} =cos(\frac{\pi }{6} )-sin(\frac{\pi }{6} )*\frac{1}{\sqrt{14} }i -sin(\frac{\pi }{6} )*\frac{2}{\sqrt{14} }j-sin(\frac{\pi }{6} )*\frac{3}{\sqrt{14} }k

如果你想算一个点w=(wx,wy,wz)在这个旋转下新的坐标w^{'} ,需要进行如下操作,
1.定义纯四元数
qw=(0,wx,wy,wz)=0+wx*i+wy*j+wz*k
2.进行四元数运算
qw^{'} =q*qw*q^{-1}
3.产生的qw^{'} 一定是纯四元数,也就是说它的第一项为0,有如下形式:
qw^{'} =(0,wx^{'},wy^{'},wz^{'})=0+wx^{'}*i+wy^{'}*j+wz^{'}*k
4.qw^{'}中的后三项(wx^{'},wy^{'},wz^{'})就是w^{'}
w^{'} =(wx^{'},wy^{'},wz^{'})
这样,就完成了一次四元数旋转运算。

同理,如果你有一个四元数:
q=(q1,q2,q3,q4)=(cos(\frac{\theta }{2} ),sin(\frac{\theta }{2} )*vx,sin(\frac{\theta }{2} )*vy,sin(\frac{\theta }{2} )*vz)
那么,它对应一个以向量v=(vx,vy,vz)为轴旋转\theta 角度的旋转操作(右手法则的旋转)。

***********************************************************************************************************
如果你想对四元数有着更深入的了解,请往下看。

四元数由汉密尔顿发明,这一发明起源于十九世纪的某一天。在这一天早上,汉密尔顿下楼吃早饭。这时他的儿子问他,“爸爸,我们能够对三元数组(triplet,可以理解为三维向量)做乘法运算么?”汉密尔顿说“不行,我只能加减它们。”

这时来自21世纪的旁白旁先生说,“大家快来看十九世纪的数学家有多二,连内积和外积都不是知道。”

十九世纪的汉密尔顿也许确实不知道内积和外积,但是他知道,他想要的三维向量乘法要比内积和外积运算“高大上”很多。这一乘法运算要满足下列四条性质:
1.运算产生的结果也要是三维向量
2.存在一个元运算,任何三维向量进行元运算的结果就是其本身
3.对于任何一个运算,都存在一个逆运算,这两个运算的积是元运算
4.运算满足结合律

换而言之,汉密尔顿想定义的不是一个简单的映射关系,而是一个群!(后来我们知道四元数所在群为S3,而四元数所代表的三维旋转是SO(3),前者是后者的两倍覆盖)内积连性质1都不满足,外积不满足性质3。

汉密尔顿先生就这么被自己儿子提出的问题难倒了。经历了无数个日日夜夜,他绞尽脑汁也没想明白这个问题。终于有一天(1843年的一天),汉密尔顿先生终于意识到了,自己所需要的运算在三维空间中是不可能实现的,但在四维空间中是可以的,他是如此的兴奋,以至于把四元数的公式刻在了爱尔兰的一座桥上。

旁白:“WTF,我让你讲三维物体的旋转,你给我扯到四维空间上去。”

(不加说明,以下所说四元数全为单位四元数)
其实,四元数有四个变量,完全可以被看作一个四维向量。单位四元数(norm=1)则存在于四维空间的一个球面上。q_{a}q_{b},四元数q_{a}乘以四元数q_{b}其实看作(1)对q_{a}进行q_{b}左旋转,或者(2)对q_{b}进行q_{a}右旋转。所以从始至终,四元数定义的都是四维旋转,而不是三维旋转!任意的四维旋转都可以唯一的拆分为一个左旋转和一个右旋转,表达出来就是q_{_{L}}pq_{_{R}}。这里,我们对四元数(四维向量)p进行了一个q_{_{L}}左旋转和一个q_{_{R}}右旋转。结果当然是一个四元数,符合性质1。这个运算也同时符合性质2,3,4。

好了,说完了四维旋转,我们终于可以说说三维旋转了。说白了,三维旋转就是四维旋转的一个特例,就像二维旋转是三维旋转的一个特例一样。说是特例其实不准确,准确的说是一个子集或者subgroup。为了进行三维旋转运算,汉密尔顿首先在四维空间里划出了一块三维空间。汉密尔顿定义了一种纯四元数(pure quaternion),其表达式为qw=(0,wx,wy,wz)。纯四元数第一项为零,它存在于四维空间的三维超平面上,与三维空间中的三维向量一一对应。然后,就有了我们常见的q*qw*q^{-1} 这种左乘单位四元数,右乘其共轭的表达式。我真心不知道汉密尔顿是怎么想出来的,不过回过头来看,这个运算形式是为了限制其运算结果所在的空间。简单的说,当对一个三维向量进行三维旋转后,我们希望得到的是一个三维向量。(如果你真能得到一个四维向量,就不敢自己在家转圈圈了吧,转着转着,就进入四次元了!)那么这个左乘单位四元数,右乘其共轭的运算保证了结果是一个在三维超平面上中的纯四元数。

把左乘和右乘表达为矩阵形式会让我们看的更清楚一些。依照qw的定义,q*qw*q^{-1} 的矩阵形式为
\left[ \begin{array}{ c c c c} 1 & 0 & 0 & 0\\ 0 & q_{1}^2+q_{2}^2-q_{3}^2-q_{4}^2 & 2q_{2}q_{3}-2q_{1}q_{4} & 2q_{2}q_{4}+2q_{1}q_{3} \\ 0& 2q_{2}q_{3}+2q_{1}q_{4} & q_{1}^2-q_{2}^2+q_{3}^2-q_{4}^2 & 2q_{3}q_{4}-2q_{1}q_{2} \\ 0 & 2q_{2}q_{4}-2q_{1}q_{3} & 2q_{3}q_{4}+2q_{1}q_{2} & q_{1}^2-q_{2}^2-q_{3}^2+q_{4}^2 \end{array} \right] \left[ \begin{array}{ c } 0\\ wx\\ wy\\ wz \end{array} \right]
很明显,前面的矩阵虽然是一个4×4的四维旋转矩阵,但是它只是在右下角3×3的区域内和一个单位矩阵有所不同。所以说,它是一个限制在三维超平面上的四维旋转。如果表达式右边不是共轭,而是任意四元数,那么我们所作的就是一个很普通的四维旋转。如果只是左乘一个单位四元数,右边什么都不乘,那么我们得到的是四维旋转的一个子集,这个子集并不能保证结果限制在三维超平面上。如果只右乘,不左乘也是一样一样的。

说了这么多,对于坚持到最后的你,上图一幅,以表感谢。

其实这张图解释了一个长久的疑问。为什么四元数q=(cos(\frac{\theta }{2} ),sin(\frac{\theta }{2} )*vx,sin(\frac{\theta }{2} )*vy,sin(\frac{\theta }{2} )*vz)里用的是\frac{\theta }{2} 而不是\theta。这是因为q做的就是一个\frac{\theta }{2} 的旋转,而q^{-1}也做了一个\frac{\theta }{2} 的旋转。我们进行了两次旋转,而不是一次,这两次旋转的结果是一个旋转角为\theta的旋转。

分类: OpenGL

妈咪说

【分形与混沌1】雪花周长无限长?曲线也有面积?希尔伯特曲线与豪斯多夫维数

知识点:拓扑维数,豪斯多夫维数

【分形与混沌2】最有魅力的几何图形——曼德勃罗集与朱利亚集 天使与魔鬼共存

【分形与混沌3】三体问题为何难解?太阳系何时会乱掉?庞加莱打开混沌理论的大门

知识点:守恒量能降低动力系统的自由度。除了能量、动量、角动量守恒外,再无其他守恒。三体问题没有精确解,只有近似解。求近似解的方法叫做“林德斯泰特-庞加莱方法(Lindstedt-Poincare Method)”

【分形与混沌4】天气预报为什么不准?蝴蝶效应与洛伦兹吸引子

知识点:爱德华·洛伦兹,气象学家,提出了洛伦兹吸引子。他不是洛伦兹力里面所说的那个人。洛伦兹吸引子,又名“确定性的非周期流”

洛伦兹方程:

    \[\frac{dx}{dt}=\sigma(y-x)\]

    \[\frac{dy}{dt}=x(R-z)-y\]

    \[\frac{dz}{dt}=xy-\beta z\]

其中,\sigma 叫普朗特数(Prandtl数),R 叫瑞利数(Rayleigh数),这两个可任取任意正数。\beta是一个几何因子。

MacOS上的Grapher软件自带洛伦兹吸引子的图像。

分形,是混沌在空间上的描述,或者说是几何描述。

混沌,是分形在时间上的描述。

【分形与混沌5】人口数量算不准?马尔萨斯灾难什么意思?逻辑斯蒂方程中的混沌

 

肮脏的资本主义——并寻找一个新途径

The dirty secret of capitalism — and a new way forward | Nick Hanauer

演讲者主要陈述了新自由主义经济理论的三个伪命题:

1:市场不需要其他部门的监管,这是一个科学有机体,政府无权干预市场竞争。市场是一个有效的均衡系统。某处经济的增长,必然对应着另一处的下降。比如提高工人工资,就意味着大量的人会失业。原因是,当工人工资强制提高后,很多公司就不愿意雇佣太多工人,导致很多工人失业,“有价无市”。

演讲者的反驳:提高工人工资,企业成本确实提升。但工人有钱后就会消费,甚至消费以前无法消费的东西,反之会刺激很多行业的经济提升,从而用工需求相应增多。这不是一种平衡,而是可以共赢。政府对市场不加以监管,其潜在监管人就是那些财团。

2:某物的价格总等于它的价值。甲每月赚5000美元,乙每月赚5000万美元,因而乙创造的价值是甲的1万倍。

演讲者的反驳:毫无科学根据。而且,在现有的资本主义下,工人的工作完全就是财团的大老板共同决定的,不能完全提现工人创造的价值。而老板和财团,他们收入很高,但很多都来自于底层人民的“剩余价值”,因而他们富裕,不是他们创造了价值,是他们剥夺了别人的价值。

3:是一个行为模式,将人描述为“经纪人”,即“人不为己天诛地灭;人都是自私的;人的行为模式都是最大化自己的经济利益。”企业与企业之间,人与人之间,都充满了竞争。

演讲者的反驳:这是毫无人性和道德底线的命题。当一名战士为了救战友而死亡,难道他是为了自己的经济利益最大化吗?真正的做法,不应该是每个个体的自私,而是不同个体间的高度合作。竞争是正确的,但不是唯一的准绳。


然后,演讲者介绍了新经济学的思想:创新和需求的正反馈,会促进人类进步和经济繁荣。这期间产生的问题和解决办法,使得这一循环越来越高度有机结合。

演讲者最后提出了新经济学的5个思路:

1:成果的经济体不是丛林,而是花园。花园需要园丁的照顾,因而市场离不开监管。

2:包容创造了经济的增长。

3:公司的目的不只是为了股东富裕,而是提升所有人的利益,包括老板,股东,员工,顾客。

4:贪婪是错误的。

5:与物理定律不同,经济学定律是一种选择。

最后结论:经济结构和运行方式并不是一门科学一个版本,而是有多种版本。我们选择使用什么版本,它就对应着什么经济模式。因此,去选择大家都喜欢的版本,可以让我们都比较满意。

百家讲坛《易经的奥秘》是2009年央视出品的系列讲座。一共15集。

我是从2010年下半年注意到并学习了该讲座。但是我并没有完整的看过所有集。现在整理在这里,以后有时间的时候可以看看。

央视网的节目地址:http://tv.cntv.cn/videoset/C15828/

每一集链接分别如下:

易经的奥秘 (一) 何为易经  易经的奥秘 (一) 何为易经                  易经的奥秘(二)何为阴阳  易经的奥秘(二)何为阴阳

易经的奥秘(三)何为太极  易经的奥秘(三)何为太极                    易经的奥秘(四)何为八卦  易经的奥秘(四)何为八卦

易经的奥秘(五)八卦成图  易经的奥秘(五)八卦成图                    易经的奥秘(六)易有三义  易经的奥秘(六)易有三义

易经的奥秘(七)善易不卜  易经的奥秘(七)善易不卜                    易经的奥秘(八)卦有何用  易经的奥秘(八)卦有何用

易经的奥秘(九)解读乾卦  易经的奥秘(九)解读乾卦                    易经的奥秘(十)解读坤卦  易经的奥秘(十)解读坤卦

易经的奥秘(十一)乾坤人生  易经的奥秘(十一)乾坤人生               易经的奥秘(十二)破解命运  易经的奥秘(十二)破解命运

易经的奥秘(十三)易经与家庭  易经的奥秘(十三)易经与家庭           易经的奥秘(十四)卦的象数理  易经的奥秘(十四)卦的象数理

易经的奥秘(十五)超越吉凶  易经的奥秘(十五)超越吉凶