首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将3-分量Android旋转矢量转换为(4-分量)四元数

将3-分量Android旋转矢量转换为(4-分量)四元数
EN

Stack Overflow用户
提问于 2020-07-02 13:43:51
回答 1查看 101关注 0票数 0

我正在尝试实现以下应用程序:

我将智能手机的三部分Android旋转矢量流到我的计算机上,在这里,一个对象显示在“统一”中,并将根据智能手机的旋转进行旋转。

我如何将三分量Android旋转矢量转换为四元数,以便在3D应用程序中使用,例如在Unity中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-02 13:43:51

Android旋转矢量要么由三个组件组成,要么由四个组件组成(因为其中一个是冗余的!)我将描述如何定义一个四元数,给出Android旋转矢量的三分量表示。

旋转矢量的三个元素等于单位四元数的最后三个分量:

代码语言:javascript
复制
< q0, q1, q2, q3 > = < (θ/2), xsin(θ/2), ysin(θ/2), z*sin(θ/2) >

因为它是一个单位四元数(它的长度等于1),所以我们可以从其余的三个中推断出第一个四元数值q0

我们知道

代码语言:javascript
复制
1 = |q| = sqrt( q0^2 + q1^2 + q2^2 + q3^2 )

我们可以转化成

代码语言:javascript
复制
q0 = sqrt( 1 - q1^2 - q2^2 - q3^2 ) 

瞧,我们有了。第四个四元数分量q0

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62697790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档