vector3d QML Value Type
einen Wert mit den Attributen x, y und z. Mehr...
Detaillierte Beschreibung
Der Typ vector3d
bezieht sich auf einen Wert mit den Attributen x
, y
und z
.
Eigenschaften vom Typ vector3d
haben standardmäßig einen Nullvektor. Dieser hat x
, y
und z
auf 0
gesetzt.
Um einen vector3d
Wert zu erstellen, geben Sie ihn als "x,y,z" String an:
Rotation { angle: 60; axis: "0,1,0" }
oder mit der Funktion Qt.vector3d():
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
oder als separate x
, y
und z
Komponenten:
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
Jedes Attribut eines vector3d-Wertes wird intern als Gleitkommazahl mit einfacher Genauigkeit gespeichert (float
).
Bei der Integration mit C++ ist zu beachten, dass jeder QVector3D Wert, der von C++ an QML übergeben wird, automatisch in einen vector3d
Wert umgewandelt wird, und umgekehrt.
Der Typ vector3d hat die folgenden idempotenten Funktionen, die in QML aufgerufen werden können:
Funktion Signatur | Beschreibung | Beispiel |
---|---|---|
vector3d crossProduct(vector3d other) | Liefert das vector3d-Ergebnis des Kreuzprodukts von this vector3d mit dem other vector3d | |
real dotProduct(vector3d andere) | Gibt das skalare reelle Ergebnis des Punktprodukts von this vector3d mit other vector3d zurück | |
vector3d times(matrix4x4 matrix) | Gibt das vector3d-Ergebnis der Transformation von this vector3d mit der 4x4 matrix mit der nach dem Vektor angewandten Matrix zurück | |
vector3d times(vector3d other) | Gibt das vector3d Ergebnis der Multiplikation von this vector3d mit dem other vector3d zurück | |
vector3d times(real factor) | Liefert das vector3d-Ergebnis der Multiplikation von this vector3d mit dem Skalar 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 other) | Gibt das vector3d-Ergebnis der Addition von this vector3d mit dem other vector3d zurück | |
vector3d minus(vector3d andere) | Gibt das vector3d-Ergebnis der Subtraktion von other vector3d von this vector3d zurück | |
vector3d normalisiert() | Gibt die normalisierte Form von this vector zurück | var a = Qt.vector3d(1,2,3); var b = a.normalized(); console.log(b.toString()); // QVector3D(0.267261, 0.534522, 0.801784) |
real length() | Gibt den skalaren reellen Wert der Länge von this vector3d zurück | var a = Qt.vector3d(1,2,3); var b = a.length(); console.log(b.toString()); // 3.7416573867739413 |
vector2d toVector2d() | Gibt das Ergebnis der Konvertierung von this vector3d in einen vector2d zurück | var a = Qt.vector3d(1,2,3); var b = a.toVector2d(); console.log(b.toString()); // QVector2D(1, 2) |
vector4d toVector4d() | Liefert das vector4d-Ergebnis der Konvertierung von this vector3d in einen 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) | Gibt true zurück, wenn this vector3d ungefähr gleich dem other vector3d ist. Die Annäherung ist wahr, wenn jedes Attribut von this innerhalb von epsilon von other liegt. Beachten Sie, dass epsilon ein optionales Argument ist, der Standardwert epsilon ist 0,00001. |
Dieser Wertetyp wird durch den QtQuick Import bereitgestellt.
Siehe auch QML-Wertetypen.
© 2025 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.