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, FVector4FVector3
Δι-συστατικό single-precision float διανύσμα με x και y συστατικά.
class FVector2:
def __init__(self, x: float = 0.0, y: float = 0.0): ...Example
| Example | Example | Example | Example |
|---|---|---|---|
x | float | ανάγνωση/εγγραφή | Πρώτο συστατικό. |
y | float | ανάγνωση/εγγραφή | Δεύτερο συστατικό. |
Example
| Example | Example | Example |
|---|---|---|
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.0FVector3
Διανύσμα τριών συνιστωσών μονής ακρίβειας 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
| Example | Example | Example | Example |
|---|---|---|---|
x | float | ανάγνωση/εγγραφή | Πρώτη συνιστώσα. |
y | float | ανάγνωση/εγγραφή | Δεύτερη συνιστώσα. |
z | float | ανάγνωση/εγγραφή | Τρίτη συνιστώσα. |
Υποστηρίζει πρόσβαση με δείκτη: v[0], v[1], v[2].
Στατικές μέθοδοι κατασκευής
| Example | Example | Example |
|---|---|---|
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) |
Μεθόδους Αντικειμένου
| Example | Example | Example |
|---|---|---|
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
| Example | Example | Example | Example |
|---|---|---|---|
x | float | ανάγνωση/εγγραφή | Πρώτο συστατικό. |
y | float | ανάγνωση/εγγραφή | Δεύτερο συστατικό. |
z | float | ανάγνωση/εγγραφή | Τρίτο συστατικό. |
w | float | ανάγνωση/εγγραφή | Τέταρτο συστατικό. |
Υποστηρίζει πρόσβαση με δείκτη: 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Σχέση με διανύσματα διπλής ακρίβειας
| Μονής ακρίβειας | Διπλής ακρίβειας | Τυπική χρήση |
|---|---|---|
FVector2 | Vector2 | Συντεταγμένες UV αποθηκευμένες σε στοιχεία κορυφής |
FVector3 | Vector3 | Κανονικές, εφαπτόμενες αποθηκευμένες σε στοιχεία κορυφής |
FVector4 | Vector4 | Example VertexElementFVector.data καταχωρήσεις; επίσης μετατροπή σημείου ελέγχου |
Κατά τον ορισμό των δεδομένων στοιχείου κορυφής, μπορείτε να περάσετε είτε κλάση ακρίβειας. set_data() μετατρέπει Vector2/Vector3 τιμές σε FVector4 αυτόματα.