FVector2 / FVector3 / FVector4

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

FVector3

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

MethodsMethodsMethodsMethods
xfloatlecture/écriturePremière composante.
yfloatlecture/écritureDeuxième composante.

Methods

MethodsMethodsMethods
length()floatLongueur euclidienne du vecteur : sqrt(x² + y²).
normalize()FVector2Renvoie une copie de longueur unité. Retourne FVector2(0, 0) pour le vecteur nul.
dot(other)floatProduit scalaire avec other.
FVector2.parse(s)FVector2Analyser 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.0

FVector3

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

MethodsMethodsMethodsMethods
xfloatlecture/écriturePremier composant.
yfloatlecture/écritureDeuxième composant.
zfloatlecture/écritureTroisième composant.

Prend en charge l’accès par indice : v[0], v[1], v[2].

Méthodes de fabrique statiques

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)

Méthodes d’instance

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

MethodsMethodsMethodsMethods
xfloatlecture/écriturePremière composante.
yfloatlecture/écritureDeuxième composant.
zfloatlecture/écritureTroisième composant.
wfloatlecture/écritureQuatriè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.0

Relation avec les vecteurs à double précision

Simple précisionDouble précisionUtilisation typique
FVector2Vector2Coordonnées UV stockées dans les éléments de sommet
FVector3Vector3Normales, tangentes stockées dans les éléments de sommet
FVector4Vector4Methods 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.


Voir aussi

 Français