javascript - 如何使用四元数捕捉到直角 90 度
问题描述
我有一些方向四元数'CurrentQ'。
我可以将其保存为参考“RefQ”
如果角度之间的差异很小,我想将更新的 CurrentQ 捕捉到 RefQ 和所有 RefQ 90 度旋转(总共 6 个角度)。
就像是:
if(Math.abs(CurrentQ.x-RefQ.x)<0.05 && ....) CurrentQ=RefQ;
性能很重要。
解决方案
我已经这样做了:
为所有 6 个捕捉旋转创建单位轴矢量
带参考四元数 RefQ 的 6 轴矢量
制作当前方向向量(用 CurrentQ 旋转的单位向量)
检查当前方向向量与 2) 的 6 个轴向量中的每一个之间的距离
我将在几天内上传代码和应用程序
推荐阅读
- vue.js - VueJS router.push 不更新页面内的数据
- mapbox - 来自任何外部来源的 Mapbox 图标?
- .net - x509certificate2 在 .net core 2.1 中为 jwt 签名
- python - python中并行解决多个独立LP并出现关键错误
- mongodb - 计数和范围 MongoDB
- functional-programming - 方案轮换函数
- python - 这个匀称的错误信息有什么问题
- javascript - 如何从主题标签转换的字符串中删除起始逗号 - ES6
- python - TypeError:request() 得到了一个意外的关键字参数“build_headers”
- r - 如何选择向量中的相邻元素并将它们放入R中的列表或矩阵中