FVector2 / FVector3 / FVector4

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

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

Example FVector typen zijn enkelprecisie (float32) vectorklassen die intern worden gebruikt door vertex‑elementgegevensarrays. Ze ruilen de geheugenefficiëntie van enkelprecisie in tegen de dubbelprecisie van de Vector2, Vector3, Vector4 klassen die worden gebruikt voor scene‑graphposities. In de praktijk zul je deze waarden het vaakst aanmaken bij het vullen van VertexElementFVector.set_data().

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

FVector2

Een tweedelige enkelprecisie float‑vector met x en y componenten.

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

Example

ExampleExampleExampleExample
xfloatlezen/schrijvenEerste component.
yfloatlezen/schrijvenTweede component.

Example

ExampleExampleExample
length()floatEuclidische lengte van de vector: sqrt(x² + y²).
normalize()FVector2Retourneer een eenheidslengte‑kopie. Retourneert FVector2(0, 0) voor de nulvector.
dot(other)floatInwendig product met other.
FVector2.parse(s)FVector2Parse een spatie-gescheiden string "x y" naar een FVector2.

Example +, -, * (scalar), / (scalar), en == operatoren.

Example

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

Een drievoudige enkelprecisie floatvector met x, y, en z componenten.

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

FVector3 accepteert ook een Vector3, Vector4, of FVector4 als eerste argument om van die typen te converteren.

Example

ExampleExampleExampleExample
xfloatlezen/schrijvenEerste component.
yfloatlezen/schrijvenTweede component.
zfloatlezen/schrijvenDerde component.

Ondersteunt indextoegang: v[0], v[1], v[2].

Statische fabrieksmethoden

ExampleExampleExample
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)

Instantiemethoden

ExampleExampleExample
normalize()FVector3Retourneer een eenheidslengtekopie. Retourneert de nulvector voor invoer met lengte nul.

Example

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

Een viercomponenten enkelprecisie floatvector met x, y, z, en w componenten. Dit is het opslagtype dat wordt gebruikt door VertexElementFVector.data.

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

FVector4 accepteert ook een FVector3, Vector3, of Vector4 als zijn eerste argument.

Example

ExampleExampleExampleExample
xfloatlezen/schrijvenEerste component.
yfloatlezen/schrijvenTweede component.
zfloatlezen/schrijvenDerde component.
wfloatlezen/schrijvenVierde component.

Ondersteunt indextoegang: v[0] via v[3].

Example

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

Relatie tot double-precisie vectoren

EnkelprecisieDubbele precisieTypisch gebruik
FVector2Vector2UV-coördinaten opgeslagen in vertex-elementen
FVector3Vector3Normalen, tangenten opgeslagen in vertex-elementen
FVector4Vector4Example VertexElementFVector.data items; ook controlepuntconversie

Wanneer je vertex-elementgegevens instelt, kun je een precisieklasse doorgeven. set_data() converteert Vector2/Vector3 waarden naar FVector4 automatisch.


Zie ook

 Nederlands