QQuaternion Class Reference
[QtGui module]
该QQuaternion类表示一个四元数组成的向量和标量的。More…
Methods
__init__ (self)
__init__ (self, float aScalar, float xpos, float ypos, float zpos)
__init__ (self, float aScalar, QVector3D aVector)
__init__ (self, QVector4D aVector)
__init__ (self, QQuaternion)
QQuaternion conjugate (self)
bool isIdentity (self)
bool isNull (self)
float length (self)
float lengthSquared (self)
normalize (self)
QQuaternion normalized (self)
QVector3D rotatedVector (self, QVector3D vector)
float scalar (self)
setScalar (self, float aScalar)
setVector (self, QVector3D aVector)
setVector (self, float aX, float aY, float aZ)
setX (self, float aX)
setY (self, float aY)
setZ (self, float aZ)
QVector4D toVector4D (self)
QVector3D vector (self)
float x (self)
float y (self)
float z (self)
Static Methods
QQuaternion fromAxisAndAngle (QVector3D axis, float angle)
QQuaternion fromAxisAndAngle (float x, float y, float z, float angle)
QQuaternion nlerp (QQuaternion q1, QQuaternion q2, float t)
QQuaternion slerp (QQuaternion q1, QQuaternion q2, float t)
Special Methods
QQuaternion __add__ (self, QQuaternion q2)
QQuaternion __div__ (self, float divisor)
bool __eq__ (self, QQuaternion q2)
QQuaternion __iadd__ (self, QQuaternion quaternion)
QQuaternion __idiv__ (self, float divisor)
QQuaternion __imul__ (self, float factor)
QQuaternion __imul__ (self, QQuaternion quaternion)
QQuaternion __isub__ (self, QQuaternion quaternion)
QQuaternion __mul__ (self, QQuaternion q2)
QQuaternion __mul__ (self, QQuaternion quaternion)
QQuaternion __mul__ (self, float factor)
bool __ne__ (self, QQuaternion q2)
QQuaternion __neg__ (self)
str __repr__ (self)
QQuaternion __sub__ (self, QQuaternion q2)
Detailed Description
这个类可以醃制。
该QQuaternion类表示一个四元数组成的向量和标量的。
四元被用来表示在三维空间中旋转,并包括由x , y和z坐标,以及表示旋转角度的标量指定一个三维旋转轴线。
Method Documentation
QQuaternion.__init__ (self)
构造一个单位四元数,即坐标为( 1 ,0,0 ,0)。
QQuaternion.__init__ (self, float aScalar, float xpos, float ypos, float zpos)
构造一个四元数与向量(xpos,ypos,zpos)和scalar。
QQuaternion.__init__ (self, float aScalar, QVector3D aVector)
构造一个四元数向量从指定的vector和scalar。
QQuaternion.__init__ (self, QVector4D aVector)
构造一个从四元数的组成部分vector。
QQuaternion.__init__ (self, QQuaternion)
QQuaternion QQuaternion.conjugate (self)
[
返回该四元数的共轭物,它是( -X , -Y,- Z,标量) 。
]($docs-qquaternion.html)
QQuaternion QQuaternion.fromAxisAndAngle (QVector3D axis, float angle)
[
创建对应于通过旋转归一化的四元数angle有关指定三维度axis。
]($docs-qquaternion.html)
QQuaternion QQuaternion.fromAxisAndAngle (float x, float y, float z, float angle)
[
创建对应于通过旋转归一化的四元数angle关于3D轴(度x,y,z) 。
bool QQuaternion.isIdentity (self)
返回True如果这个四元数在x ,y和z分量都设置为0.0 ,而标量分量设置为1.0 ,否则返回False 。
bool QQuaternion.isNull (self)
返回True如果这个四元数在x,y ,z和标量分量都设置为0.0 ,否则返回False 。
float QQuaternion.length (self)
返回四元数的长度。这也被称为“规范” 。
]($docs-qquaternion.html)
See also lengthSquared()和normalized( ) 。
float QQuaternion.lengthSquared (self)
返回四元数的平方长度。
See also length( ) 。
QQuaternion QQuaternion.nlerp (QQuaternion q1, QQuaternion q2, float t)
沿着所述旋转位置之间的最短直线路径插值q1和q2。价值t应该介于0和1,表示的距离之间的旅行q1和q2。其结果将是normalized( ) 。
If t小于或等于0,则q1将被退回。如果t大于或等于1,则q2将被退回。
该nlerp ()函数是通常比快slerp( ),将球形插,这对于某些应用足够好给近似的结果。
See also slerp( ) 。
QQuaternion.normalize (self)
标准化到位确认当期的四元数。什么也没有发生,如果这是一个空四元或四元数的长度是非常接近1。
See also length()和normalized( ) 。
QQuaternion QQuaternion.normalized (self)
[
返回此四元数的归一化单元的形式。
如果这四元数为null,则空四元数返回。如果四元数的长度是非常接近于1 ,则该四元将被返回原样。否则,长度为1的四元数的归一化的形式将被退回。
]($docs-qquaternion.html)
See also length()和normalize( ) 。
QVector3D QQuaternion.rotatedVector (self, QVector3D vector)
[
旋转vector这个四元数来产生在三维空间的新载体。下面的代码:
QVector3D result = q.rotatedVector(vector);
等效于以下内容:
]($docs-qvector3d.html)
QVector3D result = (q *QQuaternion(0, vector) * q.conjugate()).vector();
float QQuaternion.scalar (self)
返回此四元数的标量分量。
See also setScalar( )x( )y()和z( ) 。
QQuaternion.setScalar (self, float aScalar)
设置此四元数的标量分量scalar。
See also scalar( )setX( )setY()和setZ( ) 。
QQuaternion.setVector (self, QVector3D aVector)
设置此四元数的向量组件vector。
See also vector()和setScalar( ) 。
QQuaternion.setVector (self, float aX, float aY, float aZ)
设置此四元数的向量分量(x,y,z) 。
See also vector()和setScalar( ) 。
QQuaternion.setX (self, float aX)
设置此四元数的向量的x坐标给定的x协调。
See also x( )setY( )setZ()和setScalar( ) 。
QQuaternion.setY (self, float aY)
设置此四元数的向量的y坐标给定的y协调。
See also y( )setX( )setZ()和setScalar( ) 。
QQuaternion.setZ (self, float aZ)
设置此四元数的向量的z坐标给定的z协调。
See also z( )setX( )setY()和setScalar( ) 。
QQuaternion QQuaternion.slerp (QQuaternion q1, QQuaternion q2, float t)
[
沿着所述旋转位置之间的最短路径球形插q1和q2。价值t应该介于0和1,表示球面距离之间旅行q1和q2。
If t小于或等于0,则q1将被退回。如果t大于或等于1,则q2将被退回。
]($docs-qquaternion.html)
QVector4D QQuaternion.toVector4D (self)
[
返回此四元数为4D向量。
](qvector4d.html)
QVector3D QQuaternion.vector (self)
[
返回此四元数的矢量分量。
]($docs-qvector3d.html)
See also setVector()和scalar( ) 。
float QQuaternion.x (self)
返回此四元数的向量的x坐标。
See also setX( )y( )z()和scalar( ) 。
float QQuaternion.y (self)
返回此四元数的向量的y坐标。
See also setY( )x( )z()和scalar( ) 。
float QQuaternion.z (self)
返回此四元数的向量的z坐标。
See also setZ( )x( )y()和scalar( ) 。
QQuaternion QQuaternion.__add__ (self, QQuaternion q2)
QQuaternion QQuaternion.__div__ (self, float divisor)
[
bool QQuaternion.__eq__ (self, QQuaternion q2)
]($docs-qquaternion.html)
QQuaternion QQuaternion.__iadd__ (self, QQuaternion quaternion)
QQuaternion QQuaternion.__idiv__ (self, float divisor)
QQuaternion QQuaternion.__imul__ (self, float factor)
QQuaternion QQuaternion.__imul__ (self, QQuaternion quaternion)
QQuaternion QQuaternion.__isub__ (self, QQuaternion quaternion)
QQuaternion QQuaternion.__mul__ (self, QQuaternion q2)
QQuaternion QQuaternion.__mul__ (self, QQuaternion quaternion)
QQuaternion QQuaternion.__mul__ (self, float factor)
[
bool QQuaternion.__ne__ (self, QQuaternion q2)
]($docs-qquaternion.html)
QQuaternion QQuaternion.__neg__ (self)
[
str QQuaternion.__repr__ (self)
]($docs-qquaternion.html)
QQuaternion QQuaternion.__sub__ (self, QQuaternion q2)