vector3d QML 值类型
具有 x、y 和 z 属性的值。有关更多信息,请参阅这里...
详细描述
vector3d
类型指的是具有 x
、y
和 z
属性的值。
默认情况下,vector3d
类型具有零向量。其中 x
、y
和 z
均被设置为 0
。
要创建一个 vector3d
值,请指定它为 "x,y,z" 字符串
Rotation { angle: 60; axis: "0,1,0" }
使用Qt.vector3d() 函数
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
或者作为分离的 x
、y
和 z
成分量
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
vector3d 值的每个属性都作为单精度浮点数(float
)内部存储。
与 C++ 集成时,请注意,从 C++ 传入 QML 的任何 QVector3D 值都会自动转换为 vector3d
值,反之亦然。
vector3d 类型具有以下幂等函数,可以在 QML 中调用
函数签名 | 描述 | 示例 |
---|---|---|
vector3d crossProduct(vector3d other) | 返回此 vector3d 与 other vector3d 的叉积的 vector3d 结果 | |
real dotProduct(vector3d other) | 返回此 vector3d 与 other vector3d 的点积的标量实数结果 | |
vector3d times(matrix4x4 matrix) | 返回使用 4x4 matrix 变换的此 vector3d 的 vector3d 结果,变换应用于向量的后面 | |
vector3d times(vector3d other) | 返回此 vector3d 与 other vector3d 的乘积的 vector3d 结果 | |
vector3d times(real factor) | 返回此 vector3d 与标量 factor 的乘积的 vector3d 结果 | var a = Qt.vector3d(1,2,3); var b = 4.48; var c = a.times(b); console.log(c.toString()); // QVector3D(4.48, 8.96, 13.44) |
vector3d plus(vector3d other) | 返回此 vector3d 与 other vector3d 的加法结果的 vector3d | |
vector3d minus(vector3d other) | 返回从 this vector3d 减去 other vector3d 的 vector3d 结果 | |
vector3d normalized() | 返回此向量的归一化形式 | var a = Qt.vector3d(1,2,3); var b = a.normalized(); console.log(b.toString()); // QVector3D(0.267261, 0.534522, 0.801784) |
real length() | 返回此 vector3d 长度的标量实数值 | var a = Qt.vector3d(1,2,3); var b = a.length(); console.log(b.toString()); // 3.7416573867739413 |
vector2d toVector2d() | 返回将此 vector3d 转换为 vector2d 的 vector2d 结果 | var a = Qt.vector3d(1,2,3); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) |
vector4d toVector4d() | 返回将此 vector3d 转换为 vector4d 的 vector4d 结果 | var a = Qt.vector3d(1,2,3); var b = a.toVector4d(); console.log(b.toString()); // QVector4D(1, 2, 3, 0) |
bool fuzzyEquals(vector3d other, real epsilon) | 如果此 vector3d 约等于 other 矢量,则返回 true。如果 this 的每个属性都在 epsilon 以内,则近似为真。epsilon 是可选参数,默认值为 0.00001。 |
此值类型由 QtQuick 导入提供。
另请参阅 QML 值类型。
© 2024 The Qt Company Ltd。此处包含的文档贡献是各自所有者的版权。提供的文档是根据自由软件基金会发布的 GNU 自由文档许可证版本 1.3 的条款授权的。Qt 和其相应标志是 The Qt Company Ltd. 在芬兰和/或其他国家/地区的商标。所有其他商标均为其各自所有者的财产。