PySide6.QtGui.QVector3D

class QVector3D

QVector3D 类表示三维空间中的向量或顶点。更多

在版本4.6中添加。

概要

方法

静态函数

注意

本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。

详细描述

向量是3D表示和绘图的主要构建块之一。它们由三个有限的浮点坐标组成,传统上称为x、y和z。

QVector3D 类也可以用来表示三维空间中的顶点。因此,我们不需要提供一个单独的顶点类。

__init__()

构造一个零向量,即坐标为 (0, 0, 0)。

__init__(point)
Parameters:

QPoint

从2D point构造一个具有x和y坐标的向量,z坐标为0。

__init__(point)
Parameters:

QPointF

从2D point 构造一个具有x和y坐标的向量,z坐标为0。

__init__(vector)
Parameters:

向量QVector2D

从指定的2D vector 构造一个3D向量。z坐标设置为零。

另请参阅

toVector2D()

__init__(vector)
Parameters:

向量QVector4D

从指定的4D vector 构造一个3D向量。w坐标被丢弃。

另请参阅

toVector4D()

__init__(vector, zpos)
Parameters:

从指定的2D vector 构造一个3D向量。z坐标设置为 zpos,该值必须是有限的。

另请参阅

toVector2D()

__init__(xpos, ypos, zpos)
Parameters:
  • xpos – 浮点数

  • ypos – 浮点数

  • zpos – 浮点数

构造一个坐标为 (xpos, ypos, zpos) 的向量。所有参数必须是有限的。

__reduce__()
Return type:

字符串

__repr__()
Return type:

字符串

static crossProduct(v1, v2)
Parameters:
Return type:

QVector3D

返回向量 v1v2 的叉积,该叉积垂直于由 v1v2 张成的平面。如果两个向量平行,则结果为零。

另请参阅

normal()

distanceToLine(point, direction)
Parameters:
Return type:

浮点数

返回此顶点与由point和单位向量direction定义的直线之间的距离。

如果 direction 是一个零向量,那么它不定义一条线。在这种情况下,返回从 point 到这个顶点的距离。

另请参阅

distanceToPlane()

distanceToPlane(plane, normal)
Parameters:
Return type:

浮点数

返回从该顶点到由顶点planenormal单位向量定义的平面的距离。假设normal参数已被归一化为单位向量。

如果顶点在平面下方,返回值将为负数;如果顶点在平面上,返回值将为零。

另请参阅

normal() distanceToLine()

distanceToPlane(plane1, plane2, plane3)
Parameters:
Return type:

浮点数

返回从该顶点到由顶点 plane1plane2plane3 定义的平面的距离。

如果顶点在平面下方,返回值将为负数;如果顶点在平面上,返回值将为零。

定义平面的两个向量是 plane2 - plane1plane3 - plane1

另请参阅

normal() distanceToLine()

distanceToPoint(point)
Parameters:

QVector3D

Return type:

浮点数

返回从该顶点到由顶点point定义的点的距离。

static dotProduct(v1, v2)
Parameters:
Return type:

浮点数

返回v1v2的点积。

isNull()
Return type:

布尔

如果x、y和z坐标设置为0.0,则返回true,否则返回false

length()
Return type:

浮点数

返回从原点到向量的长度。

lengthSquared()
Return type:

浮点数

返回从原点到向量的长度的平方。这相当于向量与自身的点积。

另请参阅

length() dotProduct()

static normal(v1, v2)
Parameters:
Return type:

QVector3D

返回由向量v1v2张成的平面的单位法向量,这两个向量必须不相互平行。

使用crossProduct()来计算v1v2的叉积,如果你不需要结果被归一化为单位向量。

static normal(v1, v2, v3)
Parameters:
Return type:

QVector3D

返回由向量v2 - v1v3 - v1张成的平面的单位法向量,这两个向量不能相互平行。

使用crossProduct()来计算v2 - v1v3 - v1的叉积,如果你不需要结果被归一化为单位向量。

normalize()

将当前向量就地归一化。如果该向量是零向量或向量的长度非常接近1,则不会发生任何变化。

另请参阅

length() normalized()

normalized()
Return type:

QVector3D

返回此向量的归一化单位向量形式。

如果这个向量为空,则返回一个空向量。如果向量的长度非常接近1,则向量将按原样返回。否则,将返回长度为1的向量的归一化形式。

另请参阅

length() normalize()

__ne__(v2)
Parameters:

v2QVector3D

Return type:

布尔

如果 v1 不等于 v2,则返回 true;否则返回 false。此运算符使用精确的浮点数比较。

__mul__(v2)
Parameters:

v2QVector3D

Return type:

QVector3D

返回通过将v1的每个分量与v2的相应分量相乘形成的QVector3D对象。

注意

这与crossProduct()v1v2不同。(它的分量加起来等于v1v2的点积。)

另请参阅

crossProduct()

__mul__(matrix)
Parameters:

矩阵QMatrix4x4

Return type:

QVector3D

注意

此函数已弃用。

__mul__(matrix)
Parameters:

矩阵QMatrix4x4

Return type:

QVector3D

注意

此函数已弃用。

__mul__(quaternion)
Parameters:

四元数QQuaternion

Return type:

QVector3D

__mul__(factor)
Parameters:

factor – 浮点数

Return type:

QVector3D

返回给定vector的副本,乘以给定的有限factor

另请参阅

operator*=()

__mul__(factor)
Parameters:

factor – 浮点数

Return type:

QVector3D

返回给定vector的副本,乘以给定的有限factor

另请参阅

operator*=()

__imul__(vector)
Parameters:

向量QVector3D

Return type:

QVector3D

这是一个重载函数。

将此向量的每个分量与vector中的相应分量相乘,并返回对此向量的引用。

注意:这与crossProduct()这个向量和vector的叉积不同。(它的分量加起来等于这个向量和vector的点积。)

另请参阅

crossProduct() operator/=() operator*()

__imul__(factor)
Parameters:

factor – 浮点数

Return type:

QVector3D

将此向量的坐标乘以给定的有限factor并返回对此向量的引用。

另请参阅

operator/=() operator*()

__add__(v2)
Parameters:

v2QVector3D

Return type:

QVector3D

返回一个QVector3D对象,该对象是给定向量v1v2的和;每个分量分别相加。

另请参阅

operator+=()

__iadd__(vector)
Parameters:

向量QVector3D

Return type:

QVector3D

将给定的vector添加到此向量,并返回对此向量的引用。

另请参阅

operator-=()

__sub__()
Return type:

QVector3D

这是一个重载函数。

返回一个QVector3D对象,该对象是通过改变给定vector的每个分量的符号形成的。

等同于 QVector3D(0,0,0) - vector

__sub__(v2)
Parameters:

v2QVector3D

Return type:

QVector3D

返回一个QVector3D对象,该对象是通过从v1中减去v2形成的;每个分量分别相减。

另请参阅

operator-=()

__isub__(vector)
Parameters:

向量QVector3D

Return type:

QVector3D

从这个向量中减去给定的vector并返回对此向量的引用。

另请参阅

operator+=()

__div__(divisor)
Parameters:

除数QVector3D

Return type:

QVector3D

返回通过将给定vector的每个分量除以给定divisor的相应分量形成的QVector3D对象。

divisor 不能包含任何为零或 NaN 的组件。

另请参阅

operator/=()

__div__(divisor)
Parameters:

除数 – float

Return type:

QVector3D

返回通过将给定vector的每个分量除以给定divisor形成的QVector3D对象。

divisor 不能为零或 NaN。

另请参阅

operator/=()

operator/=(vector)
Parameters:

向量QVector3D

Return type:

QVector3D

将此向量的每个分量除以vector中的相应分量,并返回对此向量的引用。

vector 必须没有任何一个分量为零或NaN。

另请参阅

operator*=() operator/()

operator/=(divisor)
Parameters:

除数 – float

Return type:

QVector3D

将此向量的坐标除以给定的divisor,并返回对此向量的引用。divisor不能为零或NaN。

另请参阅

operator*=() operator/()

__eq__(v2)
Parameters:

v2QVector3D

Return type:

布尔

如果 v1 等于 v2,则返回 true;否则返回 false。此运算符使用精确的浮点数比较。

operator(i)
Parameters:

i – 整数

Return type:

浮点数

返回向量在索引位置 i 处的分量。

i 必须是向量中的有效索引位置(即 0 <= i < 3)。

project(modelView, projection, viewport)
Parameters:
Return type:

QVector3D

返回最初在对象/模型坐标中的此向量的窗口坐标,使用模型视图矩阵 modelView、投影矩阵 projection 和视口尺寸 viewport

当从裁剪空间转换到归一化空间时,会对向量的分量进行除以w分量的操作。为了防止当w等于0时除以0,将其设置为1。

注意

返回的 y 坐标是 OpenGL 方向的。OpenGL 期望底部为 0,而 Qt 的顶部为 0。

另请参阅

unproject()

setX(x)
Parameters:

x – 浮点数

将此点的x坐标设置为给定的有限x坐标。

另请参阅

x() setY() setZ()

setY(y)
Parameters:

y – 浮点数

将此点的 y 坐标设置为给定的有限 y 坐标。

另请参阅

y() setX() setZ()

setZ(z)
Parameters:

z – 浮点数

将此点的z坐标设置为给定的有限z坐标。

另请参阅

z() setX() setY()

toPoint()
Return type:

QPoint

返回此3D向量的QPoint形式。z坐标被丢弃。x和y坐标四舍五入到最接近的整数。

另请参阅

toPointF() toVector2D()

toPointF()
Return type:

QPointF

返回此3D向量的QPointF形式。z坐标被丢弃。

另请参阅

toPoint() toVector2D()

toTuple()
Return type:

对象

toVector2D()
Return type:

QVector2D

返回此3D向量的2D向量形式,丢弃z坐标。

另请参阅

toVector4D() toPoint()

toVector4D()
Return type:

QVector4D

返回此3D向量的4D形式,w坐标设置为零。

另请参阅

toVector2D() toPoint()

unproject(modelView, projection, viewport)
Parameters:
Return type:

QVector3D

返回最初在窗口坐标中使用模型视图矩阵 modelView、投影矩阵 projection 和视口尺寸 viewport 的此向量的对象/模型坐标。

当从裁剪空间转换到归一化空间时,会对向量的w分量进行除法运算。为了防止当w等于0时除以0的情况发生,w被设置为1。

注意

viewport 中的 y 坐标应使用 OpenGL 方向。OpenGL 期望底部为 0,而 Qt 的顶部为 0。

另请参阅

project()

x()
Return type:

浮点数

返回此点的x坐标。

另请参阅

setX() y() z()

y()
Return type:

浮点数

返回此点的 y 坐标。

另请参阅

setY() x() z()

z()
Return type:

浮点数

返回此点的z坐标。

另请参阅

setZ() x() y()