美文网首页
四元数基础

四元数基础

作者: 卡布奇洛猫 | 来源:发表于2019-06-14 21:49 被阅读0次
四元数(Quaternions)简单理解就是一个四维向量

形式如下:

q = w+i*x+j*y+k*z = <w,i*x,j*y,k*z>

四元数乘法法则在四元数运算中,是如同实数乘法一样基础和重要的运算

形式如下:

i^2+j^2+k^2=-1
ij=-ji=k
jk=-kj=i
ki=-ik=j

可见四元数乘法不满足交换律

q1 = w1+i*x1+j*y1+k*z1
q2 = w2+i*x2+j*y2+k*z2
q1*q2 = 
 (w1w2 - x1x2 - y1y2 - z1z2)
+(w1x2 + x1w2 + y1z2 - z1y2)i
+(w1y2 - x1z2 + y1w2 + z1x2)j
+(w1z2 + x1y2 - y1x2 + z1w2)k

q1*q2等号右侧的多项式就是根据(w1+i*x1+j*y1+k*z1)*(w2+i*x2+j*y2+k*z2)所得出结果的再加工.

(w1z2 + x1y2 - y1x2 + z1w2)k

例如上面的多项式中的第三项-y1x2就是通过j*y1*i*x2转换而来.
j*y1*i*x2 = j*i*y1*x2 = -k*y1*x2.

这里要再次重申: 四元数乘法不满足交换律,ij != ji.

基于上面q1*q2的结果,我们最终得以将四元数乘法转换成向量形式:

"*":就是普通乘法
"·":这是内积运算
"X":这是Cross product 运算(百度百科里面Outer product 和Cross product都有外积的叫法,英文避免歧义)
q = s +v,s为w,v为i*x,j*y,k*z
q1*q2 = s1*s2 - v1·v2 + s1*v2 + s2*v1 + v1 X v2

向量形式直观的告诉了我们,四元数相乘时发生了什么,其结果也为一个四元数,具体解释详见文章底部.


四元数逆运算

q^*为四元数的共轭

q^-1 = q^*q^2
q*q^-1 = (q*q^*)/q^2 = q^2/q^2 = 1
q^-1*q = (q^*q*)/q^2 = q^2/q^2 = 1

关于q1*q2的解释
为了简化条件,设s1=s2=s=1,v1和v2为平面的基向量

那么

s1*v2 + s2*v1=v2+v1,其结果就是位于v1与v2之间的一条向量v3

v3 + v1 X v2的结果则为:


这时v3 + v1 X v2的结果向量就位于由v1,v2,v4所构成的三维空间盒子的相对于原点的最远点


相关文章

  • 数聚研发框架概述

    DAFramework -- 云南数聚基础框架 DAFramework是云南数聚科技开源的微服务基础框架, 基于...

  • Java数-数的基础

    数的特点 每个节点有0个或者多个子节点。 没有父节点的节点叫做根节点。 每一个非根节点有且只有一个父节点。 除了根...

  • 2021-01-31

    高数的基础运用

  • 高数基础

    基本导数公式 不定积分

  • 高数基础

    1. Taylor 公式 通过函数的高阶导数来逼近函数的值 2.导数 一阶导数就是函数的斜率,是函数变化快慢的反应...

  • 数图基础

    基础概念 数字图像:图像可定义为一个二维函数f(x,y),幅值f为图像的强度(灰度)。当x,y,f是有限的离散数值...

  • 数仓基础

    业务流程 三户模型 客户、账户、用户 产品模型 品牌->营销方案->新业务、促销活动 账户模型 数据仓库项目实施矩...

  • 考研记

    刷完高数基础。即将进入线代基础。加油加油。

  • numpy - 学习笔记

    基础 随机数 正态分布 数组连结 数组分割 计时器 数组积累 基础 nparray.ndim 数组维数 nparr...

  • 四元数基础

    四元数(Quaternions)简单理解就是一个四维向量 形式如下: 四元数乘法法则在四元数运算中,是如同实数乘法...

网友评论

      本文标题:四元数基础

      本文链接:https://www.haomeiwen.com/subject/nqlmfctx.html