FVector2 / FVector3 / FVector4

FVector2, FVector3, FVector4 — Aspose.3D Python API Reference

Paquet: aspose.threed.utilities (aspose-3d-foss 26.1.0)

Methods FVector els tipus són de precisió simple (float32) classes de vectors utilitzades internament per les matrius de dades d’elements de vèrtex. Comprometen l’eficiència de memòria de la precisió simple amb la precisió doble de les Vector2, Vector3, Vector4 classes utilitzades per a les posicions del gràfic d’escena. En la pràctica, sovint creeu aquests valors en omplir VertexElementFVector.set_data().

from aspose.threed.utilities import FVector2, FVector3, FVector4

FVector3

Un vector de coma flotant de precisió simple de dos components amb x i y components.

class FVector2:
    def __init__(self, x: float = 0.0, y: float = 0.0): ...

Methods

MethodsMethodsMethodsMethods
xfloatlectura/escripturaPrimer component.
yfloatlectura/escripturaSegon component.

Methods

MethodsMethodsMethods
length()floatLongitud euclidiana del vector: sqrt(x² + y²).
normalize()FVector2Retorna una còpia d’unitat de longitud. Retorna FVector2(0, 0) per al vector zero.
dot(other)floatProducte escalar amb other.
FVector2.parse(s)FVector2Analitza una cadena separada per espais "x y" en un FVector2.

Methods +, -, * (escala), / (escala), i == operadors.

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 vector de coma flotant de precisió simple de tres components amb x, y, i z components.

class FVector3:
    def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0): ...

FVector3 també accepta un Vector3, Vector4, o FVector4 com el seu primer argument per convertir des d’aquests tipus.

Methods

MethodsMethodsMethodsMethods
xfloatlectura/escripturaPrimer component.
yfloatlectura/escripturaSegon component.
zfloatlectura/escripturaTercer component.

Admet l’accés per índex: v[0], v[1], v[2].

Mètodes de fàbrica estàtics

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ètodes d’instància

MethodsMethodsMethods
normalize()FVector3Retorna una còpia d’unitat de longitud. Retorna el vector zero per a una entrada de longitud zero.

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 vector de coma flotant de precisió simple de quatre components amb x, y, z, i w components. Aquest és el tipus d’emmagatzematge utilitzat per VertexElementFVector.data.

class FVector4:
    def __init__(self, x: float = 0.0, y: float = 0.0, z: float = 0.0, w: float = 0.0): ...

FVector4 també accepta un FVector3, Vector3, o Vector4 com el seu primer argument.

Methods

MethodsMethodsMethodsMethods
xfloatlectura/escripturaPrimer component.
yfloatlectura/escripturaSegon component.
zfloatlectura/escripturaTercer component.
wfloatlectura/escripturaQuart component.

Admet accés per índex: v[0] a través de 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

Relació amb vectors de doble precisió

Precisió simplePrecisió dobleÚs típic
FVector2Vector2Coordenades UV emmagatzemades en elements de vèrtex
FVector3Vector3Normals i tangents emmagatzemats en elements de vèrtex
FVector4Vector4Methods VertexElementFVector.data entrades; també conversió de punts de control

En establir les dades d’un element de vèrtex, podeu passar qualsevol classe de precisió. set_data() converteix Vector2/Vector3 valors a FVector4 automàticament.


Vegeu també

 Català