FVector2 / FVector3 / FVector4

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, FVector4

FVector3

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

MethodsMethodsMethodsMethods
xfloatlesen/schreibenErste Komponente.
yfloatlesen/schreibenZweite Komponente.

Methods

MethodsMethodsMethods
length()floatEuklidische Länge des Vektors: sqrt(x² + y²).
normalize()FVector2Gibt eine Kopie mit Einheitslänge zurück. Gibt zurück FVector2(0, 0) für den Nullvektor.
dot(other)floatSkalarprodukt mit other.
FVector2.parse(s)FVector2Parsen 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.0

FVector3

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

MethodsMethodsMethodsMethods
xfloatlesen/schreibenErste Komponente.
yfloatlesen/schreibenZweite Komponente.
zfloatlesen/schreibenDritte Komponente.

Unterstützt den Indexzugriff: v[0], v[1], v[2].

Statische Fabrikmethoden

MethodsMethodsMethods
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

MethodsMethodsMethods
normalize()FVector3Gibt 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

MethodsMethodsMethodsMethods
xfloatlesen/schreibenErste Komponente.
yfloatlesen/schreibenZweite Komponente.
zfloatlesen/schreibenDritte Komponente.
wfloatlesen/schreibenVierte 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.0

Beziehung zu double-precision Vektoren

EinzelpräzisionDoppelpräzisionTypische Verwendung
FVector2Vector2UV-Koordinaten, die in Vertex-Elementen gespeichert sind
FVector3Vector3Normalen, Tangenten in Vertex-Elementen gespeichert
FVector4Vector4Methods 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.


Siehe auch

 Deutsch