PySide6.QtGui.QVector3D¶
- class QVector3D¶
The
QVector3Dclass represents a vector or vertex in 3D space.Details
Vectors are one of the main building blocks of 3D representation and drawing. They consist of three finite floating-point coordinates, traditionally called x, y, and z.
The
QVector3Dclass can also be used to represent vertices in 3D space. We therefore do not need to provide a separate vertex class.See also
Synopsis¶
Methods¶
def
__init__()def
__reduce__()def
__repr__()def
distanceToLine()def
isNull()def
length()def
lengthSquared()def
normalize()def
normalized()def
__ne__()def
__mul__()def
__imul__()def
__add__()def
__iadd__()def
__sub__()def
__isub__()def
__div__()def
operator/=()def
__eq__()def
operator[]()def
project()def
setX()def
setY()def
setZ()def
toPoint()def
toPointF()def
toTuple()def
toVector2D()def
toVector4D()def
unproject()def
x()def
y()def
z()
Static functions¶
def
crossProduct()def
dotProduct()def
normal()
Note
This documentation may contain snippets that were automatically translated from C++ to Python. We always welcome contributions to the snippet translation. If you see an issue with the translation, you can also let us know by creating a ticket on https:/bugreports.qt.io/projects/PYSIDE
- __init__()¶
Constructs a null vector, i.e. with coordinates (0, 0, 0).
- __init__(point)
- Parameters:
point –
QPoint
Constructs a vector with x and y coordinates from a 2D
point, and a z coordinate of 0.- __init__(point)
- Parameters:
point –
QPointF
Constructs a vector with x and y coordinates from a 2D
point, and a z coordinate of 0.- __init__(vector)
- Parameters:
vector –
QVector2D
Constructs a 3D vector from the specified 2D
vector. The z coordinate is set to zero.See also
- __init__(vector)
- Parameters:
vector –
QVector4D
Constructs a 3D vector from the specified 4D
vector. The w coordinate is dropped.See also
- __init__(vector, zpos)
- Parameters:
vector –
QVector2Dzpos – float
Constructs a 3D vector from the specified 2D
vector. The z coordinate is set tozpos, which must be finite.See also
- __init__(xpos, ypos, zpos)
- Parameters:
xpos – float
ypos – float
zpos – float
Constructs a vector with coordinates (
xpos,ypos,zpos). All parameters must be finite.- __reduce__()¶
- Return type:
str
- __repr__()¶
- Return type:
str
Returns the cross-product of vectors
v1andv2, which is normal to the plane spanned byv1andv2. It will be zero if the two vectors are parallel.See also
- distanceToLine(point, direction)¶
Returns the distance that this vertex is from a line defined by
pointand the unit vectordirection.If
directionis a null vector, then it does not define a line. In that case, the distance frompointto this vertex is returned.See also
Returns the distance from this vertex to a plane defined by the vertex
planeand anormalunit vector. Thenormalparameter is assumed to have been normalized to a unit vector.The return value will be negative if the vertex is below the plane, or zero if it is on the plane.
See also
- distanceToPlane(plane1, plane2, plane3)
Returns the distance from this vertex to a plane defined by the vertices
plane1,plane2andplane3.The return value will be negative if the vertex is below the plane, or zero if it is on the plane.
The two vectors that define the plane are
plane2-plane1andplane3-plane1.See also
Returns the distance from this vertex to a point defined by the vertex
point.See also
Returns the dot product of
v1andv2.- isNull()¶
- Return type:
bool
Returns
trueif the x, y, and z coordinates are set to 0.0, otherwise returnsfalse.- length()¶
- Return type:
float
Returns the length of the vector from the origin.
See also
- lengthSquared()¶
- Return type:
float
Returns the squared length of the vector from the origin. This is equivalent to the dot product of the vector with itself.
See also
Returns the unit normal vector of a plane spanned by vectors
v1andv2, which must not be parallel to one another.Use
crossProduct()to compute the cross-product ofv1andv2if you do not need the result to be normalized to a unit vector.See also
- static normal(v1, v2, v3)
Returns the unit normal vector of a plane spanned by vectors
v2-v1andv3-v1, which must not be parallel to one another.Use
crossProduct()to compute the cross-product ofv2-v1andv3-v1if you do not need the result to be normalized to a unit vector.See also
- normalize()¶
Normalizes the current vector in place. Nothing happens if this vector is a null vector or the length of the vector is very close to 1.
See also
Returns the normalized unit vector form of this vector.
If this vector is null, then a null vector is returned. If the length of the vector is very close to 1, then the vector will be returned as-is. Otherwise the normalized form of the vector of length 1 will be returned.
See also
Returns
trueifv1is not equal tov2; otherwise returnsfalse. This operator uses an exact floating-point comparison.Returns the
QVector3Dobject formed by multiplying each component ofv1by the corresponding component ofv2.Note
This is not the same as the
crossProduct()ofv1andv2. (Its components add up to the dot product ofv1andv2.)See also
- __mul__(matrix)
- Parameters:
matrix –
QMatrix4x4- Return type:
Note
This function is deprecated.
- __mul__(matrix)
- Parameters:
matrix –
QMatrix4x4- Return type:
Note
This function is deprecated.
- __mul__(quaternion)
- Parameters:
quaternion –
QQuaternion- Return type:
- __mul__(factor)
- Parameters:
factor – float
- Return type:
Returns a copy of the given
vector, multiplied by the given finitefactor.See also
operator*=()- __mul__(factor)
- Parameters:
factor – float
- Return type:
Returns a copy of the given
vector, multiplied by the given finitefactor.See also
operator*=()Multiplies each component of this vector by the corresponding component in
vectorand returns a reference to this vector.Note: this is not the same as the
crossProduct()of this vector andvector. (Its components add up to the dot product of this vector andvector.)See also
crossProduct()operator/=()operator*()- __imul__(factor)
- Parameters:
factor – float
- Return type:
Multiplies this vector’s coordinates by the given finite
factorand returns a reference to this vector.See also
operator/=()operator*()Returns a
QVector3Dobject that is the sum of the given vectors,v1andv2; each component is added separately.See also
operator+=()Adds the given
vectorto this vector and returns a reference to this vector.See also
operator-=()Returns a
QVector3Dobject that is formed by changing the sign of each component of the givenvector.Equivalent to
QVector3D(0,0,0) - vector.Returns a
QVector3Dobject that is formed by subtractingv2fromv1; each component is subtracted separately.See also
operator-=()Subtracts the given
vectorfrom this vector and returns a reference to this vector.See also
operator+=()Returns the
QVector3Dobject formed by dividing each component of the givenvectorby the corresponding component of the givendivisor.The
divisormust have no component that is either zero or NaN.See also
operator/=()- __div__(divisor)
- Parameters:
divisor – float
- Return type:
Returns the
QVector3Dobject formed by dividing each component of the givenvectorby the givendivisor.The
divisormust not be either zero or NaN.See also
operator/=()Divides each component of this vector by the corresponding component in
vectorand returns a reference to this vector.The
vectormust have no component that is either zero or NaN.See also
operator*=()operator/()- operator/=(divisor)
- Parameters:
divisor – float
- Return type:
Divides this vector’s coordinates by the given
divisor, and returns a reference to this vector. Thedivisormust not be either zero or NaN.See also
operator*=()operator/()Returns
trueifv1is equal tov2; otherwise returnsfalse. This operator uses an exact floating-point comparison.- operator(i)¶
- Parameters:
i – int
- Return type:
float
Returns the component of the vector at index position
i.imust be a valid index position in the vector (i.e., 0 <=i< 3).- project(modelView, projection, viewport)¶
- Parameters:
modelView –
QMatrix4x4projection –
QMatrix4x4viewport –
QRect
- Return type:
Returns the window coordinates of this vector initially in object/model coordinates using the model view matrix
modelView, the projection matrixprojectionand the viewport dimensionsviewport.When transforming from clip to normalized space, a division by the w component on the vector components takes place. To prevent dividing by 0 if w equals to 0, it is set to 1.
Note
the returned y coordinates are in OpenGL orientation. OpenGL expects the bottom to be 0 whereas for Qt top is 0.
See also
- setX(x)¶
- Parameters:
x – float
Sets the x coordinate of this point to the given finite
xcoordinate.- setY(y)¶
- Parameters:
y – float
Sets the y coordinate of this point to the given finite
ycoordinate.- setZ(z)¶
- Parameters:
z – float
Sets the z coordinate of this point to the given finite
zcoordinate.Returns the QPoint form of this 3D vector. The z coordinate is dropped. The x and y coordinates are rounded to nearest integers.
See also
Returns the QPointF form of this 3D vector. The z coordinate is dropped.
See also
- toTuple()¶
- Return type:
object
Returns the 2D vector form of this 3D vector, dropping the z coordinate.
See also
Returns the 4D form of this 3D vector, with the w coordinate set to zero.
See also
- unproject(modelView, projection, viewport)¶
- Parameters:
modelView –
QMatrix4x4projection –
QMatrix4x4viewport –
QRect
- Return type:
Returns the object/model coordinates of this vector initially in window coordinates using the model view matrix
modelView, the projection matrixprojectionand the viewport dimensionsviewport.When transforming from clip to normalized space, a division by the w component of the vector components takes place. To prevent dividing by 0 if w equals to 0, it is set to 1.
Note
y coordinates in
viewportshould use OpenGL orientation. OpenGL expects the bottom to be 0 whereas for Qt top is 0.See also
- x()¶
- Return type:
float
Returns the x coordinate of this point.
- y()¶
- Return type:
float
Returns the y coordinate of this point.
- z()¶
- Return type:
float
Returns the z coordinate of this point.