FVector2 / FVector3 / FVector4

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

Πακέτο: aspose.threed.utilities (aspose-3d-foss 26.1.0)

Example FVector οι τύποι είναι single-precision (float32) κλάσεις διανυσμάτων που χρησιμοποιούνται εσωτερικά από πίνακες δεδομένων στοιχείων κορυφών. Ανταλλάσσουν την αποδοτικότητα μνήμης της single precision έναντι της double precision της Vector2, Vector3, Vector4 κλάσεων που χρησιμοποιούνται για θέσεις scene graph. Στην πράξη θα δημιουργείτε αυτές τις τιμές πιο συχνά κατά τη συμπλήρωση VertexElementFVector.set_data().

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

FVector3

Δι-συστατικό single-precision float διανύσμα με x και y συστατικά.

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

Example

ExampleExampleExampleExample
xfloatανάγνωση/εγγραφήΠρώτο συστατικό.
yfloatανάγνωση/εγγραφήΔεύτερο συστατικό.

Example

ExampleExampleExample
length()floatΕυκλείδεια μήκος του διανύσματος: sqrt(x² + y²).
normalize()FVector2Επιστρέφει ένα αντίγραφο μονάδας μήκους. Επιστρέφει FVector2(0, 0) για το μηδενικό διάνυσμα.
dot(other)floatΕσωτερικό γινόμενο με other.
FVector2.parse(s)FVector2Αναλύστε μια συμβολοσειρά χωρισμένη με κενά "x y" σε ένα FVector2.

Example +, -, * (scalar), / (scalar), και == τελεστές.

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

Διανύσμα τριών συνιστωσών μονής ακρίβειας float με x, y, και z συνιστώσες.

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

FVector3 δέχεται επίσης ένα Vector3, Vector4, ή FVector4 ως πρώτο του όρισμα για μετατροπή από αυτούς τους τύπους.

Example

ExampleExampleExampleExample
xfloatανάγνωση/εγγραφήΠρώτη συνιστώσα.
yfloatανάγνωση/εγγραφήΔεύτερη συνιστώσα.
zfloatανάγνωση/εγγραφήΤρίτη συνιστώσα.

Υποστηρίζει πρόσβαση με δείκτη: v[0], v[1], v[2].

Στατικές μέθοδοι κατασκευής

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)

Μεθόδους Αντικειμένου

ExampleExampleExample
normalize()FVector3Επιστρέφει ένα αντίγραφο μονάδας μήκους. Επιστρέφει το μηδενικό διάνυσμα για είσοδο μηδενικού μήκους.

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

Διανύσμα τεσσάρων συνιστωσών μονής ακρίβειας float με x, y, z, και w συστατικά. Αυτή είναι η μορφή αποθήκευσης που χρησιμοποιείται από VertexElementFVector.data.

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

FVector4 επίσης δέχεται ένα FVector3, Vector3, ή Vector4 ως το πρώτο του όρισμα.

Example

ExampleExampleExampleExample
xfloatανάγνωση/εγγραφήΠρώτο συστατικό.
yfloatανάγνωση/εγγραφήΔεύτερο συστατικό.
zfloatανάγνωση/εγγραφήΤρίτο συστατικό.
wfloatανάγνωση/εγγραφήΤέταρτο συστατικό.

Υποστηρίζει πρόσβαση με δείκτη: v[0] μέσω 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

Σχέση με διανύσματα διπλής ακρίβειας

Μονής ακρίβειαςΔιπλής ακρίβειαςΤυπική χρήση
FVector2Vector2Συντεταγμένες UV αποθηκευμένες σε στοιχεία κορυφής
FVector3Vector3Κανονικές, εφαπτόμενες αποθηκευμένες σε στοιχεία κορυφής
FVector4Vector4Example VertexElementFVector.data καταχωρήσεις; επίσης μετατροπή σημείου ελέγχου

Κατά τον ορισμό των δεδομένων στοιχείου κορυφής, μπορείτε να περάσετε είτε κλάση ακρίβειας. set_data() μετατρέπει Vector2/Vector3 τιμές σε FVector4 αυτόματα.


Δείτε επίσης

 Ελληνικά