四元数 QML 值类型
四元数类型具有标量、x、y 和 z 属性。 更多...
详细描述
四元数类型具有 scalar
、x
、y
和 z
属性。
要创建四元数,请指定为 "标量,x,y,z" 字符串,或单独定义各个分量,或使用 Qt.quaternion() 函数组合。
四元数类型具有以下在 QML 中可以调用的幂等函数
函数签名 | 说明 | 示例 |
---|---|---|
real dotProduct(quaternion other) | 返回 this 四元数与 other 四元数的点积的标量 real 结果 | |
quaternion times(quaternion other) | 返回 this 四元数与 other 四元数相乘的结果四元数,这对应于应用两个旋转 | |
vector3d times(vector3d vector) | 返回以 this 四元数旋转 vector 的 vector3d 结果 | |
quaternion times(real factor) | 返回 this 四元数与标量 factor 相乘的结果四元数 | var a = Qt.quaternion(1,2,3,4); var b = 4.48; var c = a.times(b); console.log(c.toString()); // QQuaternion(4.48, 8.96, 13.44, 17.92) |
quaternion plus(quaternion other) | 返回 this 四元数与 other 四元数相加的结果四元数 | |
quaternion minus(quaternion other) | 返回 other 四元数从 this 四元数中减去的结果四元数 | |
quaternion normalized() | 返回 this 四元数的归一化单位形式 | var a = Qt.quaternion(1,2,3,4); var b = a.normalized(); console.log(b.toString()); // QQuaternion(0.182574, 0.365148, 0.547723, 0.730297) |
quaternion inverted() | 返回 this 四元数的逆 | var a = Qt.quaternion(0.5,0.5,0.5,-0.5); var b = a.inverted(); console.log(b.toString()); // QQuaternion(0.5, -0.5, -0.5, 0.5) |
quaternion conjugated() | 返回 this 四元数的共轭 | var a = Qt.quaternion(1,2,3,4); var b = a.conjugated() console.log(b.toString()); // QQuaternion(1, -2, -3, -4) |
real length() | 返回 this 四元数的长度标量实值 | var a = Qt.quaternion(1,2,3,4); var b = a.length(); console.log(b.toString()); // 5.477225575051661 |
vector3d toEulerAngles() | 返回 this 四元数对应的三维欧拉角 vector3d(以度为单位) | var a = Qt.quaternion(0.933012,0.25,-0.25,0.066987); var b = a.toEulerAngles(); console.log(b.toString()); // QVector3D(30, -30, -4.28846e-05) |
vector4d toVector4d() | 返回将 this 四元数转换为 vector4d 的结果 | var a = Qt.quaternion(1,2,3,4); var b = a.toVector4d(); console.log(b.toString()); // QVector4D(2, 3, 4, 1) |
bool fuzzyEquals(quaternion other, real epsilon) | 如果 this 四元数大约等于 other 四元数,则返回 true。如果 this 的每个属性都在 epsilon 内,则近似为真。注意,epsilon 是可选参数,默认 epsilon 为 0.00001。 |
类型为 quaternion
的属性默认值为 Qt.quaternion(1, 0, 0, 0)
。
此值类型由 QtQuick 导入提供。
另请参阅QML 值类型。
© 2024 Qt公司有限公司。本文档中包含的贡献为各自所有者的版权。本提供的文档根据自由软件基金会发布的自由文档许可证版本1.3的条款进行许可。Qt及其相关标志是芬兰及其它/国家的Qt公司注册商标。其他所有商标均为其各自所有者的财产。