Vector4
Vector4 је вектор дупло прецизности са 4 компоненте x, y, z, и w компоненти. То је примарни тип који се користи за контролне тачке у Mesh.control_points (где w = 1.0 за Картизијанске позиције) и за нормалне податке у VertexElementNormal.
from aspose.threed.utilities import Vector4| ————————- | —————————————————— |
| Vector4(x, y, z) | Конструише се од три компоненте; w подразумева 1.0 |
| Vector4(x, y, z, w) | Конструише се од четири експлицитне компоненте |
| Vector4(vec3) | Konstrukcije iz a Vector3; w postavljeno na 1.0 |
| Vector4(vec3, w) | Konstrukcije iz a Vector3 plus eksplicitno w |
| ————————- | ————————- | ——————————————————— |
| x | float | X komponenta |
| y | float | Y komponenta |
| z | float | Z komponenta |
| w | float | W komponenta (homogena težina; tipično 1.0 za pozicije) |
| ————————- | ———— | —————————————- |
| set(x, y, z, w=1.0) | None | Postavlja sve četiri komponente na mestu |
Приступ индексу
Komponente se mogu pristupiti pomoću celobrojnog indeksa: 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
# Use _control_points to mutate the backing list (control_points returns a copy)
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)