FVector2, FVector3, FVector4 — Aspose.3D Python API Reference
Pachet: aspose.threed.utilities (aspose-3d-foss 26.1.0)
Example FVector tipurile sunt cu precizie simplă (float32) clase de vectori utilizate intern de către matricile de date ale elementelor de vârf. Ele sacrifică eficiența memoriei de precizie simplă în favoarea preciziei duble a Vector2, Vector3, Vector4 claselor utilizate pentru pozițiile graficului de scenă. În practică, veți crea cel mai adesea aceste valori când populați VertexElementFVector.set_data().
from aspose.threed.utilities import FVector2, FVector3, FVector4FVector2
Un vector float cu precizie simplă, cu două componente, cu x și y componente.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Example
| Example | Example | Example | Example |
|---|---|---|---|
x | float | citire/scriere | Prima componentă. |
y | float | citire/scriere | A doua componentă. |
Example
| Example | Example | Example |
|---|---|---|
length() | float | Lungimea euclidiană a vectorului: sqrt(x² + y²). |
normalize() | FVector2 | Returnează o copie cu lungime unitate. Returnează FVector2(0, 0) pentru vectorul zero. |
dot(other) | float | Produs scalar cu other. |
FVector2.parse(s) | FVector2 | Parsează un șir separat prin spații "x y" într-un FVector2. |
Example +, -, * (scalar), / (scalar), și == operatori.
Example
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 cu trei componente, cu precizie simplă, de tip float, cu x, y, și z componente.
class FVector3:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...FVector3 acceptă și un Vector3, Vector4, sau FVector4 ca primul său argument pentru a converti din acele tipuri.
Example
| Example | Example | Example | Example |
|---|---|---|---|
x | float | citire/scriere | Primul component. |
y | float | citire/scriere | Al doilea component. |
z | float | citire/scriere | Al treilea component. |
Acceptă acces prin index: v[0], v[1], v[2].
Metode de fabrică statice
| Example | Example | Example |
|---|---|---|
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) |
Metode de instanță
| Example | Example | Example |
|---|---|---|
normalize() | FVector3 | Returnează o copie cu lungime unitate. Returnează vectorul zero pentru intrare de lungime zero. |
Example
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 cu patru componente, cu virgulă mobilă de precizie simplă, cu x, y, z, și w componente. Acesta este tipul de stocare utilizat de VertexElementFVector.data.
class FVector4:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...FVector4 acceptă, de asemenea, un FVector3, Vector3, sau Vector4 ca primul său argument.
Example
| Example | Example | Example | Example |
|---|---|---|---|
x | float | citire/scriere | Prima componentă. |
y | float | citire/scriere | A doua componentă. |
z | float | citire/scriere | A treia componentă. |
w | float | citire/scriere | A patra componentă. |
Acceptă acces prin index: v[0] prin v[3].
Example
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.0Relația cu vectorii de precizie dublă
| Precizie simplă | Precizie dublă | Utilizare tipică |
|---|---|---|
FVector2 | Vector2 | Coordonate UV stocate în elementele de vârf |
FVector3 | Vector3 | Normale, tangente stocate în elemente de vârf |
FVector4 | Vector4 | Example VertexElementFVector.data intrări; de asemenea conversia punctului de control |
Când setezi datele elementului de vârf, poți transmite fie clasa de precizie. set_data() convertește Vector2/Vector3 valori la FVector4 automat.