FVector2, FVector3, FVector4 — Aspose.3D Python API Reference
Paket: aspose.threed.utilities (aspose-3d-foss 26.1.0)
Methods FVector Typen sind Einzelpräzision (float32) Vektorklassen, die intern von Vertex-Element-Datenarrays verwendet werden. Sie tauschen die Speichereffizienz von Einzelpräzision gegen die Doppelpräzision der Vector2, Vector3, Vector4 Klassen, die für Positionen im Szenengraphen verwendet werden. In der Praxis werden Sie diese Werte am häufigsten beim Befüllen erstellen VertexElementFVector.set_data().
from aspose.threed.utilities import FVector2, FVector3, FVector4FVector3
Ein zweikomponentiger Einzelpräzisions‑Float‑Vektor mit x und y Komponenten.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lesen/schreiben | Erste Komponente. |
y | float | lesen/schreiben | Zweite Komponente. |
Methods
| Methods | Methods | Methods |
|---|---|---|
length() | float | Euklidische Länge des Vektors: sqrt(x² + y²). |
normalize() | FVector2 | Gibt eine Kopie mit Einheitslänge zurück. Gibt zurück FVector2(0, 0) für den Nullvektor. |
dot(other) | float | Skalarprodukt mit other. |
FVector2.parse(s) | FVector2 | Parsen Sie eine durch Leerzeichen getrennte Zeichenkette "x y" in ein FVector2. |
Methods +, -, * (Skalar), / (Skalar), und == Operatoren.
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
Ein dreikomponentiger Single-Precision-Float-Vektor mit x, y, und z Komponenten.
class FVector3:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...FVector3 akzeptiert auch ein Vector3, Vector4, oder FVector4 als erstes Argument, um von diesen Typen zu konvertieren.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lesen/schreiben | Erste Komponente. |
y | float | lesen/schreiben | Zweite Komponente. |
z | float | lesen/schreiben | Dritte Komponente. |
Unterstützt den Indexzugriff: v[0], v[1], v[2].
Statische Fabrikmethoden
| 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) |
Instanzmethoden
| Methods | Methods | Methods |
|---|---|---|
normalize() | FVector3 | Gibt eine Kopie mit Einheitslänge zurück. Gibt den Nullvektor für Eingaben mit Länge Null zurück. |
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
Ein vierkomponentiger Gleitkomma-Vektor einfacher Genauigkeit mit x, y, z, und w Komponenten. Dies ist der von VertexElementFVector.data.
class FVector4:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...FVector4 akzeptiert auch ein FVector3, Vector3, oder Vector4 als erstes Argument.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lesen/schreiben | Erste Komponente. |
y | float | lesen/schreiben | Zweite Komponente. |
z | float | lesen/schreiben | Dritte Komponente. |
w | float | lesen/schreiben | Vierte Komponente. |
Unterstützt Indexzugriff: v[0] durch 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.0Beziehung zu double-precision Vektoren
| Einzelpräzision | Doppelpräzision | Typische Verwendung |
|---|---|---|
FVector2 | Vector2 | UV-Koordinaten, die in Vertex-Elementen gespeichert sind |
FVector3 | Vector3 | Normalen, Tangenten in Vertex-Elementen gespeichert |
FVector4 | Vector4 | Methods VertexElementFVector.data Einträge; auch Konvertierung von Kontrollpunkten |
Beim Festlegen von Vertex-Elementdaten können Sie entweder die Präzisionsklasse übergeben. set_data() konvertiert Vector2/Vector3 Werte zu FVector4 automatisch.