PySide6.QtGui.QVector3D¶
- class QVector3D¶
- The - QVector3Dclass represents a vector or vertex in 3D space. More…- Added in version 4.6. - 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 - Detailed Description¶- 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 - __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 – - QVector2D
- zpos – float 
 
 
 - Constructs a 3D vector from the specified 2D - vector. The z coordinate is set to- zpos, 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 - v1and- v2, which is normal to the plane spanned by- v1and- v2. 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 vector- direction.- If - directionis a null vector, then it does not define a line. In that case, the distance from- pointto this vertex is returned.- See also - Returns the distance from this vertex to a plane defined by the vertex - planeand a- normalunit vector. The- normalparameter 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,- plane2and- plane3.- 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-- plane1and- plane3-- plane1.- See also - Returns the distance from this vertex to a point defined by the vertex - point.- See also - Returns the dot product of - v1and- v2.- isNull()¶
- Return type:
- bool 
 
 - Returns - trueif the x, y, and z coordinates are set to 0.0, otherwise returns- false.- 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 - v1and- v2, which must not be parallel to one another.- Use - crossProduct()to compute the cross-product of- v1and- v2if 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-- v1and- v3-- v1, which must not be parallel to one another.- Use - crossProduct()to compute the cross-product of- v2-- v1and- v3-- 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 - trueif- v1is not equal to- v2; otherwise returns- false. This operator uses an exact floating-point comparison.- Returns the - QVector3Dobject formed by multiplying each component of- v1by the corresponding component of- v2.- Note - This is not the same as the - crossProduct()of- v1and- v2. (Its components add up to the dot product of- v1and- v2.)- 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 finite- factor.- See also - operator*=()- __mul__(factor)
- Parameters:
- factor – float 
- Return type:
 
 - Returns a copy of the given - vector, multiplied by the given finite- factor.- See also - operator*=()- This is an overloaded function. - 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 and- vector. (Its components add up to the dot product of this vector and- vector.)- 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,- v1and- v2; each component is added separately.- See also - operator+=()- Adds the given - vectorto this vector and returns a reference to this vector.- See also - operator-=()- This is an overloaded function. - Returns a - QVector3Dobject that is formed by changing the sign of each component of the given- vector.- Equivalent to - QVector3D(0,0,0) - vector.- Returns a - QVector3Dobject that is formed by subtracting- v2from- v1; 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 given- vectorby the corresponding component of the given- divisor.- 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 given- vectorby the given- divisor.- 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. The- divisormust not be either zero or NaN.- See also - operator*=()- operator/()- Returns - trueif- v1is equal to- v2; otherwise returns- false. 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 – - QMatrix4x4
- projection – - QMatrix4x4
- viewport – - QRect
 
- Return type:
 
 - Returns the window coordinates of this vector initially in object/model coordinates using the model view matrix - modelView, the projection matrix- projectionand the viewport dimensions- viewport.- 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 – - QMatrix4x4
- projection – - QMatrix4x4
- viewport – - QRect
 
- Return type:
 
 - Returns the object/model coordinates of this vector initially in window coordinates using the model view matrix - modelView, the projection matrix- projectionand the viewport dimensions- viewport.- 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.