a value with x, y, and z attributes.
						The
						
vector3d
						
						type refers to a value with
						
x
						
						,
						
y
						
						,和
						
z
						
						属性。
					
						要创建
						
vector3d
						
						value, specify it as a "x,y,z" string:
					
Rotation { angle: 60; axis: "0,1,0" }
or with the Qt.vector3d() 函数:
Rotation { angle: 60; axis: Qt.vector3d(0, 1, 0) }
						or as separate
						
x
						
						,
						
y
						
						,和
						
z
						
						components:
					
Rotation { angle: 60; axis.x: 0; axis.y: 1; axis.z: 0 }
						Each attribute of a vector3d value is stored internally as a single-precision floating point number (
						
float
						
						).
					
						When integrating with C++, note that any
						
							QVector3D
						
						值
						
							passed into QML from C++
						
						is automatically converted into a
						
vector3d
						
						value, and vice-versa.
					
The vector3d type has the following idempotent functions which can be invoked in QML:
| 函数签名 | 描述 | 范例 | 
|---|---|---|
| vector3d crossProduct(vector3d other) | Returns the vector3d result of the cross product of 
this
								vector3d with the
other
								vector3d | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 4 , 5 , 6 ); var c = a . crossProduct(b); console . log(c . toString()); // QVector3D(-3, 6, -3) | 
| real dotProduct(vector3d other) | Returns the scalar real result of the dot product of 
this
								vector3d with the
other
								vector3d | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 4 , 5 , 6 ); var c = a . dotProduct(b); console . log(c); // 32 | 
| vector3d times(matrix4x4 matrix) | Returns the vector3d result of transforming 
this
								vector3d with the 4x4
matrix
								with the matrix applied post-vector | var a = Qt.vector3d(1,2,3); var b = Qt . matrix4x4( 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14 , 15 , 16 , 17 , 18 , 19 ); var c = a . times(b); console . log(c . toString()); // QVector3D(0.774194, 0.849462, 0.924731) | 
| vector3d times(vector3d other) | Returns the vector3d result of multiplying 
this
								vector3d with the
other
								vector3d | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 4 , 5 , 6 ); var c = a . times(b); console . log(c . toString()); // QVector3D(4, 10, 18) | 
| vector3d times(real factor) | Returns the vector3d result of multiplying 
this
								vector3d with the scalar
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) | Returns the vector3d result of the addition of 
this
								vector3d with the
other
								vector3d | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 4 , 5 , 6 ); var c = a . plus(b); console . log(c . toString()); // QVector3D(5, 7, 9) | 
| vector3d minus(vector3d other) | Returns the vector3d result of the subtraction of 
other
								vector3d from
this
								vector3d | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 4 , 5 , 6 ); var c = a . minus(b); console . log(c . toString()); // QVector3D(-3, -3, -3) | 
| vector3d normalized() | Returns the normalized form of 
this
								vector | var a = Qt.vector3d(1,2,3); var b = a . normalized(); console . log(b . toString()); // QVector3D(0.267261, 0.534522, 0.801784) | 
| real length() | Returns the scalar real value of the length of 
this
								vector3d | var a = Qt.vector3d(1,2,3); var b = a . length(); console . log(b . toString()); // 3.7416573867739413 | 
| vector2d toVector2d() | Returns the vector2d result of converting 
this
								vector3d to a vector2d | var a = Qt.vector3d(1,2,3); var b = a . toVector2d(); console . log(b . toString()); // QVector2D(1, 2) | 
| vector4d toVector4d() | Returns the vector4d result of converting 
this
								vector3d to a 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) | 返回 true 若 
this
								vector3d is approximately equal to the
other
								vector3d. The approximation will be true if each attribute of
this
								is within
epsilon
								of
other
								。注意,
epsilon
								is an optional argument, the default
epsilon
								is 0.00001. | var a = Qt.vector3d(1,2,3); var b = Qt . vector3d( 1.0001 , 1.9998 , 2.0001 ); var c = a . fuzzyEquals(b); // default epsilon var d = a . fuzzyEquals(b , 0.005 ); // supplied epsilon console . log(c + " " + d); // false true | 
此基本类型的提供是通过 QtQuick 导入。
另请参阅 QML 基本类型 .