FVector2, FVector3, FVector4 — Aspose.3D Python API Reference
Paquet: aspose.threed.utilities (aspose-3d-foss 26.1.0)
Methods FVector els tipus són de precisió simple (float32) classes de vectors utilitzades internament per les matrius de dades d’elements de vèrtex. Comprometen l’eficiència de memòria de la precisió simple amb la precisió doble de les Vector2, Vector3, Vector4 classes utilitzades per a les posicions del gràfic d’escena. En la pràctica, sovint creeu aquests valors en omplir VertexElementFVector.set_data().
from aspose.threed.utilities import FVector2, FVector3, FVector4FVector3
Un vector de coma flotant de precisió simple de dos components amb x i y components.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escriptura | Primer component. |
y | float | lectura/escriptura | Segon component. |
Methods
| Methods | Methods | Methods |
|---|---|---|
length() | float | Longitud euclidiana del vector: sqrt(x² + y²). |
normalize() | FVector2 | Retorna una còpia d’unitat de longitud. Retorna FVector2(0, 0) per al vector zero. |
dot(other) | float | Producte escalar amb other. |
FVector2.parse(s) | FVector2 | Analitza una cadena separada per espais "x y" en un FVector2. |
Methods +, -, * (escala), / (escala), i == operadors.
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 coma flotant de precisió simple de tres components amb x, y, i z components.
class FVector3:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...FVector3 també accepta un Vector3, Vector4, o FVector4 com el seu primer argument per convertir des d’aquests tipus.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escriptura | Primer component. |
y | float | lectura/escriptura | Segon component. |
z | float | lectura/escriptura | Tercer component. |
Admet l’accés per índex: v[0], v[1], v[2].
Mètodes de fàbrica estàtics
| 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ètodes d’instància
| Methods | Methods | Methods |
|---|---|---|
normalize() | FVector3 | Retorna una còpia d’unitat de longitud. Retorna el vector zero per a una entrada de longitud zero. |
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 coma flotant de precisió simple de quatre components amb x, y, z, i w components. Aquest és el tipus d’emmagatzematge utilitzat per VertexElementFVector.data.
class FVector4:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...FVector4 també accepta un FVector3, Vector3, o Vector4 com el seu primer argument.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lectura/escriptura | Primer component. |
y | float | lectura/escriptura | Segon component. |
z | float | lectura/escriptura | Tercer component. |
w | float | lectura/escriptura | Quart component. |
Admet accés per índex: 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ó amb vectors de doble precisió
| Precisió simple | Precisió doble | Ús típic |
|---|---|---|
FVector2 | Vector2 | Coordenades UV emmagatzemades en elements de vèrtex |
FVector3 | Vector3 | Normals i tangents emmagatzemats en elements de vèrtex |
FVector4 | Vector4 | Methods VertexElementFVector.data entrades; també conversió de punts de control |
En establir les dades d’un element de vèrtex, podeu passar qualsevol classe de precisió. set_data() converteix Vector2/Vector3 valors a FVector4 automàticament.