内容表

上一话题

QPolygonF

下一话题

QRadialGradient

QQuaternion

QQuaternion class represents a quaternion consisting of a vector and scalar. 更多

Inheritance diagram of PySide2.QtGui.QQuaternion

4.6 版新增。

概要

函数

静态函数

详细描述

Quaternions are used to represent rotations in 3D space, and consist of a 3D rotation axis specified by the x, y, and z coordinates, and a scalar representing the rotation angle.

class QQuaternion

QQuaternion(vector)

QQuaternion(scalar, vector)

QQuaternion(scalar, xpos, ypos, zpos)

param ypos

float

param scalar

float

param zpos

float

param vector

QVector4D

param xpos

float

Constructs an identity quaternion (1, 0, 0, 0), i.e. with the vector (0, 0, 0) and scalar 1.

Constructs a quaternion vector from the specified vector and scalar .

Constructs a quaternion with the vector ( xpos , ypos , zpos ) and scalar .

PySide2.QtGui.QQuaternion. __reduce__ ( )
返回类型

PyObject

PySide2.QtGui.QQuaternion. __repr__ ( )
返回类型

PyObject

PySide2.QtGui.QQuaternion. conjugate ( )
返回类型

QQuaternion

注意

此函数被弃用。

使用 conjugated() 代替。

PySide2.QtGui.QQuaternion. conjugated ( )
返回类型

QQuaternion

Returns the conjugate of this quaternion, which is (-x, -y, -z, scalar).

static PySide2.QtGui.QQuaternion. dotProduct ( q1 , q2 )
参数
返回类型

float

Returns the dot product of q1 and q2 .

另请参阅

length()

static PySide2.QtGui.QQuaternion. fromAxes ( xAxis , yAxis , zAxis )
参数
返回类型

QQuaternion

Constructs the quaternion using 3 axes ( xAxis , yAxis , zAxis ).

注意

The axes are assumed to be orthonormal.

static PySide2.QtGui.QQuaternion. fromAxisAndAngle ( axis , angle )
参数
返回类型

QQuaternion

Creates a normalized quaternion that corresponds to rotating through angle degrees about the specified 3D axis .

另请参阅

getAxisAndAngle()

static PySide2.QtGui.QQuaternion. fromAxisAndAngle ( x , y , z , angle )
参数
  • x float

  • y float

  • z float

  • angle float

返回类型

QQuaternion

Creates a normalized quaternion that corresponds to rotating through angle degrees about the 3D axis ( x , y , z ).

另请参阅

getAxisAndAngle()

static PySide2.QtGui.QQuaternion. fromDirection ( direction , up )
参数
返回类型

QQuaternion

Constructs the quaternion using specified forward direction direction and upward direction up . If the upward direction was not specified or the forward and upward vectors are collinear, a new orthonormal upward direction will be generated.

static PySide2.QtGui.QQuaternion. fromEulerAngles ( eulerAngles )
参数

eulerAngles QVector3D

返回类型

QQuaternion

这是重载函数。

Creates a quaternion that corresponds to a rotation of eulerAngles : eulerAngles. z() degrees around the z axis, eulerAngles. x() degrees around the x axis, and eulerAngles. y() degrees around the y axis (in that order).

另请参阅

toEulerAngles()

static PySide2.QtGui.QQuaternion. fromEulerAngles ( pitch , yaw , roll )
参数
  • pitch float

  • yaw float

  • roll float

返回类型

QQuaternion

Creates a quaternion that corresponds to a rotation of roll degrees around the z axis, pitch degrees around the x axis, and yaw degrees around the y axis (in that order).

另请参阅

getEulerAngles()

static PySide2.QtGui.QQuaternion. fromRotationMatrix ( rot3x3 )
参数

rot3x3 QMatrix3x3

返回类型

QQuaternion

Creates a quaternion that corresponds to a rotation matrix rot3x3 .

注意

If a given rotation matrix is not normalized, the resulting quaternion will contain scaling information.

PySide2.QtGui.QQuaternion. getAxes ( xAxis , yAxis , zAxis )
参数

Returns the 3 orthonormal axes ( xAxis , yAxis , zAxis ) defining the quaternion.

PySide2.QtGui.QQuaternion. inverted ( )
返回类型

QQuaternion

Returns the inverse of this quaternion. If this quaternion is null, then a null quaternion is returned.

PySide2.QtGui.QQuaternion. isIdentity ( )
返回类型

bool

返回 true if the x, y, and z components of this quaternion are set to 0.0, and the scalar component is set to 1.0; otherwise returns false .

PySide2.QtGui.QQuaternion. isNull ( )
返回类型

bool

返回 true if the x, y, z, and scalar components of this quaternion are set to 0.0; otherwise returns false .

PySide2.QtGui.QQuaternion. length ( )
返回类型

float

Returns the length of the quaternion. This is also called the “norm”.

PySide2.QtGui.QQuaternion. lengthSquared ( )
返回类型

float

Returns the squared length of the quaternion.

static PySide2.QtGui.QQuaternion. nlerp ( q1 , q2 , t )
参数
返回类型

QQuaternion

Interpolates along the shortest linear path between the rotational positions q1 and q2 。值 t should be between 0 and 1, indicating the distance to travel between q1 and q2 . The result will be normalized() .

t is less than or equal to 0, then q1 will be returned. If t is greater than or equal to 1, then q2 将被返回。

The function is typically faster than slerp() and will give approximate results to spherical interpolation that are good enough for some applications.

另请参阅

slerp()

PySide2.QtGui.QQuaternion. normalize ( )

Normalizes the current quaternion in place. Nothing happens if this is a null quaternion or the length of the quaternion is very close to 1.

PySide2.QtGui.QQuaternion. normalized ( )
返回类型

QQuaternion

Returns the normalized unit form of this quaternion.

If this quaternion is null, then a null quaternion is returned. If the length of the quaternion is very close to 1, then the quaternion will be returned as-is. Otherwise the normalized form of the quaternion of length 1 will be returned.

PySide2.QtGui.QQuaternion. __ne__ ( q2 )
参数

q2 QQuaternion

返回类型

bool

PySide2.QtGui.QQuaternion. __mul__ ( q2 )
参数

q2 QQuaternion

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __mul__ ( factor )
参数

factor float

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __mul__ ( factor )
参数

factor float

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __imul__ ( quaternion )
参数

quaternion QQuaternion

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __imul__ ( factor )
参数

factor float

返回类型

QQuaternion

Multiplies this quaternion’s components by the given factor , and returns a reference to this quaternion.

另请参阅

operator/=()

PySide2.QtGui.QQuaternion. __add__ ( q2 )
参数

q2 QQuaternion

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __iadd__ ( quaternion )
参数

quaternion QQuaternion

返回类型

QQuaternion

添加给定 quaternion to this quaternion and returns a reference to this quaternion.

另请参阅

operator-=()

PySide2.QtGui.QQuaternion. __sub__ ( )
返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __sub__ ( q2 )
参数

q2 QQuaternion

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __isub__ ( quaternion )
参数

quaternion QQuaternion

返回类型

QQuaternion

Subtracts the given quaternion from this quaternion and returns a reference to this quaternion.

另请参阅

operator+=()

PySide2.QtGui.QQuaternion. __div__ ( divisor )
参数

divisor float

返回类型

QQuaternion

PySide2.QtGui.QQuaternion. __idiv__ ( divisor )
参数

divisor float

返回类型

QQuaternion

Divides this quaternion’s components by the given divisor , and returns a reference to this quaternion.

另请参阅

operator*=()

PySide2.QtGui.QQuaternion. __eq__ ( q2 )
参数

q2 QQuaternion

返回类型

bool

PySide2.QtGui.QQuaternion. rotatedVector ( vector )
参数

vector QVector3D

返回类型

QVector3D

Rotates vector with this quaternion to produce a new vector in 3D space. The following code:

QVector3D result = q.rotatedVector(vector);
											

is equivalent to the following:

QVector3D result = (q * QQuaternion(0, vector) * q.conjugated()).vector();
											
static PySide2.QtGui.QQuaternion. rotationTo ( from , to )
参数
返回类型

QQuaternion

Returns the shortest arc quaternion to rotate from the direction described by the vector from to the direction described by the vector to .

另请参阅

fromDirection()

PySide2.QtGui.QQuaternion. scalar ( )
返回类型

float

Returns the scalar component of this quaternion.

PySide2.QtGui.QQuaternion. setScalar ( scalar )
参数

scalar float

Sets the scalar component of this quaternion to scalar .

PySide2.QtGui.QQuaternion. setVector ( vector )
参数

vector QVector3D

Sets the vector component of this quaternion to vector .

PySide2.QtGui.QQuaternion. setVector ( x , y , z )
参数
  • x float

  • y float

  • z float

Sets the vector component of this quaternion to ( x , y , z ).

PySide2.QtGui.QQuaternion. setX ( x )
参数

x float

Sets the x coordinate of this quaternion’s vector to the given x 坐标。

PySide2.QtGui.QQuaternion. setY ( y )
参数

y float

Sets the y coordinate of this quaternion’s vector to the given y 坐标。

PySide2.QtGui.QQuaternion. setZ ( z )
参数

z float

Sets the z coordinate of this quaternion’s vector to the given z 坐标。

static PySide2.QtGui.QQuaternion. slerp ( q1 , q2 , t )
参数
返回类型

QQuaternion

Interpolates along the shortest spherical path between the rotational positions q1 and q2 。值 t should be between 0 and 1, indicating the spherical distance to travel between q1 and q2 .

t is less than or equal to 0, then q1 will be returned. If t is greater than or equal to 1, then q2 将被返回。

另请参阅

nlerp()

PySide2.QtGui.QQuaternion. toEulerAngles ( )
返回类型

QVector3D

这是重载函数。

Calculates roll, pitch, and yaw Euler angles (in degrees) that corresponds to this quaternion.

另请参阅

fromEulerAngles()

PySide2.QtGui.QQuaternion. toRotationMatrix ( )
返回类型

QMatrix3x3

Creates a rotation matrix that corresponds to this quaternion.

注意

If this quaternion is not normalized, the resulting rotation matrix will contain scaling information.

PySide2.QtGui.QQuaternion. toVector4D ( )
返回类型

QVector4D

Returns this quaternion as a 4D vector.

PySide2.QtGui.QQuaternion. vector ( )
返回类型

QVector3D

Returns the vector component of this quaternion.

PySide2.QtGui.QQuaternion. x ( )
返回类型

float

Returns the x coordinate of this quaternion’s vector.

PySide2.QtGui.QQuaternion. y ( )
返回类型

float

Returns the y coordinate of this quaternion’s vector.

PySide2.QtGui.QQuaternion. z ( )
返回类型

float

Returns the z coordinate of this quaternion’s vector.