- class QVector3D#
-
自版本 4.6 以来。
概览#
方法#
def
__init__()def
__reduce__()def
__repr__()def
distanceToLine()def
isNull()def
length()def
lengthSquared()def
normalize()def
normalized()def
__ne__()def
__mul__()定义
__imul__()定义
__add__()定义
__iadd__()定义
__sub__()定义
__isub__()定义
__div__()定义
operator/=()定义
__eq__()定义
operator[]()定义
project()定义
setX()定义
setY()定义
setZ()定义
toPoint()定义
toPointF()定义
toTuple()定义
toVector2D()定义
toVector4D()定义
unproject()定义
x()定义
y()定义
z()
静态函数#
定义
dotProduct()定义
normal()
注意
本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单向我们反馈。
详细说明#
向量是3D表示和绘图的主要构建块之一。它由三个有限的浮点坐标组成,传统上被称为x、y和z。
可以
QVector3D类也用于表示3D空间中的顶点。因此,我们不需要提供单独的顶点类。另请参阅
QVector2DQVector4DQQuaternion使用2D点坐标构建一个向量,并将z坐标设为0。
- __init__(point)
- 参数:
point –
QPointF
使用2D点坐标构建一个向量,并将z坐标设为0。
- __init__(vector)
- 参数:
vector –
QVector2D
从指定的2D向量化构建一个3D向量。z坐标设为零。
另请参阅
- __init__(vector, zpos)
- 参数:
vector –
QVector2Dzpos – float
从指定的2D向量化构建一个3D向量。z坐标设为
zpos,它必须是有限的。另请参阅
- __init__(vector)
- 参数:
vector –
QVector4D
从指定的4D向量化构建一个3D向量。w坐标将被丢弃。
另请参阅
- __init__(xpos, ypos, zpos)
- 参数:
xpos – float
ypos – float
zpos – float
构建具有坐标 (
xpos,ypos,zpos) 的向量。所有参数必须是有限的。- __init__()
构建空向量,即坐标为 (0, 0, 0) 的向量。
- __reduce__()#
- 返回类型:
对象
- __repr__()#
- 返回类型:
对象
返回向量
v1和v2的叉积,该叉积垂直于由v1和v2扩展的平面。如果两个向量平行,则结果为 0。另请参阅
返回此顶点与由
point和单位向量direction定义的线的距离。如果
direction是空向量,则它不定义一条线。在这种情况下,返回从point到此顶点的距离。另请参阅
返回从此顶点到由顶点
plane和单位向量normal定义的平面的距离。假设已将normal参数归一化为单位向量。如果顶点在平面下方,返回值将为负,如果顶点在平面上,则返回值为 0。
另请参阅
- distanceToPlane(plane1, plane2, plane3)
返回从该顶点到由顶点
plane1、plane2和plane3定义的平面的距离。如果顶点在平面下方,返回值将为负,如果顶点在平面上,则返回值为 0。
定义平面的两个向量是
plane2-plane1和plane3-plane1。另请参阅
- distanceToPoint(point)
- 参数:
point –
QVector3D- 返回类型:
float
返回从该顶点到由顶点
point定义的点的距离。返回
v1和v2的点积。- isNull()
- 返回类型:
bool
如果 x、y 和 z 坐标都设置为 0.0,则返回
true,否则返回false。- length()
- 返回类型:
float
返回从原点到该向量的长度。
- lengthSquared()
- 返回类型:
float
返回从原点到该向量的长度平方。这相当于向量的点积运算。
另请参阅
返回由向量
v1和v2张成的平面上的单位法向量,这两个向量不能彼此平行。如果不需要将结果标准化为单位向量,请使用
crossProduct()来计算v1和v2的叉积。返回由向量
v2-v1和v3-v1张成的平面上的单位法向量,这两个向量不能彼此平行。如果不需要将结果标准化为单位向量,请使用
crossProduct()来计算v2-v1和v3-v1的叉积。- normalize()#
在原地对当前向量进行归一化。如果这个向量是零向量或向量长度非常接近于 1,则不执行任何操作。
另请参阅
返回此向量的标准化单位向量形式。
如果这个向量是空的,就返回一个空向量。如果向量的长度非常接近于1,那么将返回向量本身。否则,返回长度为1的向量的归一化形式。
另请参阅
如果
v1不等于v2,则返回true;否则返回false。此运算符使用精确的浮点数比较。返回给定
vector的副本,并将其乘以给定的有限factor。另请参阅
operator*=()- __mul__(factor)
- 参数:
factor – float
- 返回类型:
返回给定
vector的副本,并将其乘以给定的有限factor。另请参阅
operator*=()- __mul__(quaternion)
- 参数:
quaternion –
QQuaternion- 返回类型:
- __mul__(matrix)
- 参数:
matrix –
QMatrix4x4- 返回类型:
注意
此函数已弃用。
返回由将
v1的每个分量乘以对应的v2分量所构成的QVector3D对象。- __mul__(matrix)
- 参数:
matrix –
QMatrix4x4- 返回类型:
注意
此函数已弃用。
这是一个重载函数。
将此向量的每个分量与
vector的对应分量相乘,并返回对此向量的引用。注意:这与该向量和
crossProduct()的crossProduct()不同。(它的分量之和等于该向量和vector的点积。)另请参阅
crossProduct()operator/=()operator*()- __imul__(factor)
- 参数:
factor – float
- 返回类型:
将此向量的坐标乘以给定的有限
factor并返回对此向量的引用。另请参阅
operator/=()operator*()返回一个
QVector3D对象,该对象是给定向量v1和v2的和;每个分量单独相加。另请参阅
operator+=()将给定的
vector添加到该向量中,并返回对此向量的引用。另请参阅
operator-=()这是一个重载函数。
返回一个由改变给定
vector的每个分量符号所组成的QVector3D对象。等价于
QVector3D(0,0,0) - vector。返回一个由从
v1中减去v2形成的QVector3D对象;每个分量单独相减。另请参阅
operator-=()从该向量中减去给定的
vector并返回对此向量的引用。另请参阅
operator+=()返回由给定向量中每个分量的对应分量除以给定
所组成的对象。QVector3Ddivisor不得有任何分量为零或NaN。另请参阅
operator/=()- __div__(divisor)
- 参数:
除数 – float
- 返回类型:
返回由给定向量中每个分量除以给定的
divisor所组成的QVector3Ddivisor不得为零或NaN。另请参阅
operator/=()将此向量的每个分量除以向量中对应的分量
并返回对此向量的引用。该向量不得有任何分量为零或NaN。
另请参阅
operator*=()operator/()- operator/=(divisor)
- 参数:
除数 – float
- 返回类型:
将此向量的坐标除以给定的
divisor,并返回对此向量
的引用。divisor不得为零或NaN。另请参阅
operator*=()operator/()如果 v1 等于 v2,则返回 true;否则返回
false。此运算符使用精确浮点数比较。- operator(i)#
- 参数:
i – int
- 返回类型:
float
返回向量索引位置
i的分量。i必须是向量中的有效索引位置(即
0 ≤ i < 3)。- project(modelView, projection, viewport)#
- 参数:
modelView –
QMatrix4x4projection –
QMatrix4x4viewport –
QRect
- 返回类型:
使用模型视图矩阵
modelView,投影矩阵projection和视口尺寸viewport,返回此矢量在对象/模型坐标中的窗口坐标。在从裁剪空间转换到归一化空间时,需要对向量的 w 分量进行除法。为了避免当 w 等于 0 时除以 0 的情况,将其设置为 1。
- setX(x)#
- 参数:
x – float
将此点的 x 坐标设置为给定的有限
x坐标。- setY(y)#
- 参数:
y – float
将此点的 y 坐标设置为给定的有限
y坐标。- setZ(z)#
- 参数:
z – float
将此点的 z 坐标设置为给定的有限
z坐标。返回此 3D 向量的 QPoint 形式。降维坐标是 z。x 和 y 坐标被四舍五入到最接近的整数。
另请参阅
返回此 3D 向量的 QPointF 形式。降维坐标是 z。
另请参阅
- toTuple()#
- 返回类型:
对象
返回此3D向量对应的2D向量形式,忽略z坐标。
另请参阅
返回此3D向量的4D形式,w坐标被设置为0。
另请参阅
- unproject(modelView, projection, viewport)#
- 参数:
modelView –
QMatrix4x4projection –
QMatrix4x4viewport –
QRect
- 返回类型:
使用模型视图矩阵
modelView、投影矩阵projection和视口维度viewport返回此向量在窗口坐标中最初的对象/模型的坐标。在从裁剪空间转换到归一化空间时,会进行向量组件w的分除。为防止w等于0时分母为0,将其设置为1。
- x()#
- 返回类型:
float
返回此点的x坐标。
- y()#
- 返回类型:
float
返回此点的y坐标。
- z()#
- 返回类型:
float
返回该点的z坐标。