FVector2, FVector3, FVector4 — Aspose.3D Python API Reference
Paquete: aspose.threed.utilities (aspose-3d-foss 26.1.0)
Methods FVector los tipos son de precisión simple (float32) clases vectoriales usadas internamente por los arreglos de datos de elementos de vértice. Compensan la eficiencia de memoria de la precisión simple frente a la precisión doble de las Vector2, Vector3, Vector4 clases usadas para posiciones del grafo de escena. En la práctica, con mayor frecuencia crearás estos valores al poblar VertexElementFVector.set_data().
from aspose.threed.utilities import FVector2, FVector3, FVector4FVector3
Un vector flotante de precisión simple de dos componentes con x y y componentes.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escritura | Primer componente. |
y | float | lectura/escritura | Segundo componente. |
Methods
| Methods | Methods | Methods |
|---|---|---|
length() | float | Longitud euclidiana del vector: sqrt(x² + y²). |
normalize() | FVector2 | Devuelve una copia de longitud unitaria. Devuelve FVector2(0, 0) para el vector cero. |
dot(other) | float | Producto punto con other. |
FVector2.parse(s) | FVector2 | Analiza una cadena separada por espacios "x y" en un FVector2. |
Methods +, -, * (escalar), / (escalar), y == operadores.
Methods
from aspose.threed.utilities import FVector2
uv = FVector2(0.5, 0.25)
print(uv.x, uv.y) # 0.5 0.25
print(uv.length()) # ~0.559
unit = uv.normalize()
print(round(unit.length(), 6)) # 1.0
a = FVector2(1.0, 0.0)
b = FVector2(0.0, 1.0)
print(a.dot(b)) # 0.0FVector3
Un vector de punto flotante de precisión simple de tres componentes con x, y, y z componentes.
class FVector3:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...FVector3 también acepta un Vector3, Vector4, o FVector4 como su primer argumento para convertir desde esos tipos.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escritura | Primer componente. |
y | float | lectura/escritura | Segundo componente. |
z | float | lectura/escritura | Tercer componente. |
Admite acceso por índice: v[0], v[1], v[2].
Métodos de fábrica estáticos
| Methods | Methods | Methods |
|---|---|---|
FVector3.zero() | FVector3 | (0, 0, 0) |
FVector3.one() | FVector3 | (1, 1, 1) |
FVector3.unit_x() | FVector3 | (1, 0, 0) |
FVector3.unit_y() | FVector3 | (0, 1, 0) |
FVector3.unit_z() | FVector3 | (0, 0, 1) |
Métodos de instancia
| Methods | Methods | Methods |
|---|---|---|
normalize() | FVector3 | Devuelve una copia de longitud unitaria. Devuelve el vector cero para una entrada de longitud cero. |
Methods
from aspose.threed.utilities import FVector3
n = FVector3(0.0, 1.0, 0.0)
print(n.normalize()) # FVector3(0.0, 1.0, 0.0)
up = FVector3.unit_y()
print(up.x, up.y, up.z) # 0.0 1.0 0.0
# Convert from Vector3
from aspose.threed.utilities import Vector3
v = Vector3(1.0, 2.0, 3.0)
fv = FVector3(v)
print(fv) # FVector3(1.0, 2.0, 3.0)FVector4
Un vector de punto flotante de precisión simple de cuatro componentes con x, y, z, y w componentes. Este es el tipo de almacenamiento usado por VertexElementFVector.data.
class FVector4:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...FVector4 también acepta un FVector3, Vector3, o Vector4 como su primer argumento.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escritura | Primer componente. |
y | float | lectura/escritura | Segundo componente. |
z | float | lectura/escritura | Tercer componente. |
w | float | lectura/escritura | Cuarto componente. |
Admite acceso por índice: v[0] a través de v[3].
Methods
from aspose.threed.utilities import FVector4, FVector3
# Direct construction
normal = FVector4(0.0, 0.0, 1.0, 0.0)
print(normal.z) # 1.0
# From FVector3
fv3 = FVector3(0.0, 1.0, 0.0)
fv4 = FVector4(fv3, 0.0)
print(fv4) # FVector4(0.0, 1.0, 0.0, 0.0)
# Index access
print(fv4[1]) # 1.0
fv4[3] = 1.0
print(fv4.w) # 1.0Relación con los vectores de doble precisión
| Precisión simple | Precisión doble | Uso típico |
|---|---|---|
FVector2 | Vector2 | Coordenadas UV almacenadas en elementos de vértice |
FVector3 | Vector3 | Normales, tangentes almacenados en elementos de vértice |
FVector4 | Vector4 | Methods VertexElementFVector.data entradas; también conversión de puntos de control |
Al establecer datos de elementos de vértice, puedes pasar cualquiera de las clases de precisión. set_data() convierte Vector2/Vector3 valores a FVector4 automáticamente.