- 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空间中的顶点。因此,我们不需要提供单独的顶点类。另请参阅
QVector2D
QVector4D
QQuaternion
使用2D点坐标构建一个向量,并将z坐标设为0。
- __init__(point)
- 参数:
point –
QPointF
使用2D点坐标构建一个向量,并将z坐标设为0。
- __init__(vector)
- 参数:
vector –
QVector2D
从指定的2D向量化构建一个3D向量。z坐标设为零。
另请参阅
- __init__(vector, zpos)
- 参数:
vector –
QVector2D
zpos – 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+=()
返回由给定向量中每个分量的对应分量除以给定
所组成的对象。QVector3D
divisor
不得有任何分量为零或NaN。另请参阅
operator/=()
- __div__(divisor)
- 参数:
除数 – float
- 返回类型:
返回由给定向量中每个分量除以给定的
divisor
所组成的QVector3D
divisor
不得为零或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 –
QMatrix4x4
projection –
QMatrix4x4
viewport –
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 –
QMatrix4x4
projection –
QMatrix4x4
viewport –
QRect
- 返回类型:
使用模型视图矩阵
modelView
、投影矩阵projection
和视口维度viewport
返回此向量在窗口坐标中最初的对象/模型的坐标。在从裁剪空间转换到归一化空间时,会进行向量组件w的分除。为防止w等于0时分母为0,将其设置为1。
- x()#
- 返回类型:
float
返回此点的x坐标。
- y()#
- 返回类型:
float
返回此点的y坐标。
- z()#
- 返回类型:
float
返回该点的z坐标。