FVector2, FVector3, FVector4 — Aspose.3D Python API Reference
Package : aspose.threed.utilities (aspose-3d-foss 26.1.0)
Methods FVector les types sont en simple précision (float32) classes de vecteurs utilisées en interne par les tableaux de données d’éléments de sommet. Elles échangent l’efficacité mémoire de la simple précision contre la double précision des Vector2, Vector3, Vector4 classes utilisées pour les positions du graphe de scène. En pratique, vous créerez le plus souvent ces valeurs lors du remplissage VertexElementFVector.set_data().
from aspose.threed.utilities import FVector2, FVector3, FVector4FVector3
Un vecteur flottant à simple précision à deux composantes avec x et y composantes.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lecture/écriture | Première composante. |
y | float | lecture/écriture | Deuxième composante. |
Methods
| Methods | Methods | Methods |
|---|---|---|
length() | float | Longueur euclidienne du vecteur : sqrt(x² + y²). |
normalize() | FVector2 | Renvoie une copie de longueur unité. Retourne FVector2(0, 0) pour le vecteur nul. |
dot(other) | float | Produit scalaire avec other. |
FVector2.parse(s) | FVector2 | Analyser une chaîne séparée par des espaces "x y" en un FVector2. |
Methods +, -, * (scalaire), / (scalaire), et == opérateurs.
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 vecteur à trois composantes en virgule flottante simple précision avec x, y, et z composants.
class FVector3:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...FVector3 accepte également un Vector3, Vector4, ou FVector4 comme son premier argument pour convertir à partir de ces types.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lecture/écriture | Premier composant. |
y | float | lecture/écriture | Deuxième composant. |
z | float | lecture/écriture | Troisième composant. |
Prend en charge l’accès par indice : v[0], v[1], v[2].
Méthodes de fabrique statiques
| 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éthodes d’instance
| Methods | Methods | Methods |
|---|---|---|
normalize() | FVector3 | Renvoie une copie de longueur unité. Renvoie le vecteur nul pour une entrée de longueur zéro. |
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 vecteur à quatre composantes en virgule flottante simple précision avec x, y, z, et w composantes. C’est le type de stockage utilisé par VertexElementFVector.data.
class FVector4:
def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...FVector4 accepte également un FVector3, Vector3, ou Vector4 comme premier argument.
Methods
| Methods | Methods | Methods | Methods |
|---|---|---|---|
x | float | lecture/écriture | Première composante. |
y | float | lecture/écriture | Deuxième composant. |
z | float | lecture/écriture | Troisième composant. |
w | float | lecture/écriture | Quatrième composant. |
Prend en charge l’accès par indice : v[0] à travers 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.0Relation avec les vecteurs à double précision
| Simple précision | Double précision | Utilisation typique |
|---|---|---|
FVector2 | Vector2 | Coordonnées UV stockées dans les éléments de sommet |
FVector3 | Vector3 | Normales, tangentes stockées dans les éléments de sommet |
FVector4 | Vector4 | Methods VertexElementFVector.data entrées ; conversion de points de contrôle également |
Lors de la définition des données d’élément de sommet, vous pouvez fournir l’une ou l’autre classe de précision. set_data() convertit Vector2/Vector3 valeurs en FVector4 automatiquement.