在增强现实和虚拟现实中,经常会涉及到空间的位置角度问题。
这个四元数可以说是一个重点,Unity和安卓中的原理是相同的,不过Unity中可能更直观一些。今天从ARCore官网整理了四元数的基本知识(重要)分享给大家,弄懂原理,在真实空间里摆放物品就就想怎么摆怎么摆啦!
Quaternion:一个Sceneform四元数类浮动。
四元数操是使用右手规则的哈密顿。
四个变量:x, y, z ,w
下面这几个构造函数比较重要,也比较好理解。
Quaternion()
空构造函数,后面可以通过set方法指定。
Quaternion(float x, float y, float z, float w)
直接指定坐标及旋转角度
Quaternion(Quaternion q)
复制另一个四元数来构造
Quaternion(Vector3 axis, float angle)
通过一个Vector3坐标向量和一个角度指定空间位置和旋转角。
Quaternion(Vector3 eulerAngles)
欧几里得角度,由三个坐标指定物体在空间中的位置,需要进行坐标转换。
Note:
(其实本身,三个变量即可指定物体在空间中的唯一位置,但是前面的“位置+角度”的方法更简单,直接先定好位置,在位置的基础上再旋转,具体算法大家可以搜一下,我之后有空再来补充。)