vector3d QML Value Type
un valor con atributos x, y, y z. Más...
Descripción detallada
El tipo vector3d se refiere a un valor con atributos x, y, y z.
Las propiedades de tipo vector3d tienen un vector cero por defecto. Esto tiene x, y y z establecidos en 0.
Para crear un valor vector3d, especifíquelo como una cadena "x,y,z":
Rotation { angle: 60; axis: "0,1,0" }
o con la función Qt.vector3d():
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
o como componentes separados x, y, y z:
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
Cada atributo de un valor vector3d se almacena internamente como un número de coma flotante de precisión única (float).
Al integrar con C++, tenga en cuenta que cualquier valor QVector3D pasado a QML desde C++ se convierte automáticamente en un valor vector3d, y viceversa.
El tipo vector3d tiene las siguientes funciones idempotentes que pueden invocarse en QML:
| Función Firma | Descripción | Ejemplo |
|---|---|---|
| vector3d crossProduct(vector3d otro) | Devuelve el resultado vector3d del producto cruzado de this vector3d con el other vector3d | |
| real dotProduct(vector3d otro) | Devuelve el resultado real escalar del producto punto de this vector3d con other vector3d | |
| vector3d times(matriz4x4 matriz) | Devuelve el resultado vector3d de transformar this vector3d con el 4x4 matrix con la matriz aplicada post-vector | |
| vector3d veces(vector3d otro) | Devuelve el vector3d resultado de multiplicar this vector3d con el other vector3d | |
| vector3d veces(factor real) | Devuelve el vector3d resultante de multiplicar this vector3d por el escalar factor | 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 otro) | Devuelve el vector3d resultado de la suma de this vector3d con el other vector3d | |
| vector3d menos(vector3d otro) | Devuelve el vector3d resultado de la resta de other vector3d de this vector3d | |
| vector3d normalizado() | Devuelve la forma normalizada del vector this | var a = Qt.vector3d(1,2,3); var b = a.normalized(); console.log(b.toString()); // QVector3D(0.267261, 0.534522, 0.801784) |
| longitud real() | Devuelve el valor real escalar de la longitud de this vector3d | var a = Qt.vector3d(1,2,3); var b = a.length(); console.log(b.toString()); // 3.7416573867739413 |
| vector2d toVector2d() | Devuelve el vector2d resultante de convertir this vector3d en un vector2d | var a = Qt.vector3d(1,2,3); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) |
| vector4d toVector4d() | Devuelve el vector4d resultante de convertir this vector3d en un vector4d | var a = Qt.vector3d(1,2,3); var b = a.toVector4d(); console.log(b.toString()); // QVector4D(1, 2, 3, 0) |
| bool fuzzyEquals(vector3d otro, real epsilon) | Devuelve true si this vector3d es aproximadamente igual a other vector3d. La aproximación será verdadera si cada atributo de this está dentro de epsilon de other. Tenga en cuenta que epsilon es un argumento opcional, el valor por defecto epsilon es 0.00001. |
Este tipo de valor es proporcionado por la importación QtQuick.
Véase también Tipos de valor QML.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.