Vector4 — Aspose.3D FOSS for Python API Reference
Vector4 er en dobbeltpræcisions 4-komponent vektor med x, y, z, og w komponenter. Det er den primære type, der bruges til kontrolpunkter i Mesh.control_points (hvor w = 1.0 for kartesiske positioner) og for normaldata i VertexElementNormal.
: aspose.threed.utilities
from aspose.threed.utilities import Vector4Vector4() | (0, 0, 0, 1) |
Vector4(x, y, z) | Konstrueres ud fra tre komponenter; w standard er 1.0 |
Vector4(x, y, z, w) | Konstrueres ud fra fire eksplicitte komponenter |
Vector4(vec3) | Konstrueres ud fra en Vector3; w sat til 1.0 |
Vector4(vec3, w) | Konstrueres ud fra en Vector3 plus eksplicit w |
x | float | X-komponent |
y | float | Y-komponent |
z | float | Z-komponent |
w | float | W-komponent (homogen vægt; typisk 1.0 for positioner) |
| Returtype | ||
|---|---|---|
set(x, y, z, w=1.0) | None | Sætter alle fire komponenter på stedet |
Indeksadgang
Komponenter kan tilgås via heltalsindeks: v[0] x, v[1] y, v[2] z, v[3] w.
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4
scene = Scene()
mesh = Mesh()
# Control points use Vector4 with w=1.0
mesh.control_points.append(Vector4(0.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(1.0, 0.0, 0.0, 1.0))
mesh.control_points.append(Vector4(0.5, 1.0, 0.0, 1.0))
# Create a triangle polygon
mesh.create_polygon(0, 1, 2)
node = scene.root_node.create_child_node("triangle", mesh)
# Reading a control point
pt = mesh.control_points[0]
print(pt.x, pt.y, pt.z, pt.w) # 0.0 0.0 0.0 1.0
# Construct from Vector3
from aspose.threed.utilities import Vector3
v3 = Vector3(5.0, 3.0, 2.0)
v4 = Vector4(v3) # w defaults to 1.0
v4b = Vector4(v3, 0.0) # explicit w for direction (w=0)