Vector3 — Aspose.3D FOSS for Java

Example

Vector3 είναι διπλής ακρίβειας διάνυσμα 3-συστατικών με x, y, και z συστατικά. Χρησιμοποιείται σε όλο το Aspose.3D για θέσεις, κατευθύνσεις, κανονικές και τιμές κλίμακας. Όλες οι αριθμητικές λειτουργίες επιστρέφουν νέο Vector3 αντίγραφα· το αρχικό δεν μεταβάλλεται.

import com.aspose.threed.*;

// Construct from components
Vector3 v = new Vector3(1.0, 2.0, 3.0);

// Copy constructor
Vector3 v2 = new Vector3(v);

// Default (zero vector)
Vector3 zero = new Vector3();

Example

ExampleExample
Vector3()Δημιουργεί το μηδενικό διάνυσμα (0, 0, 0)
Vector3(double x, double y, double z)Δημιουργεί από τρία συστατικά
Vector3(Vector3 other)Κατασκευαστής αντιγραφής

Δημόσια Πεδία

Vector3 χρησιμοποιεί δημόσια πεδία για πρόσβαση στα συστατικά (όχι μεθόδους getter/setter):

ExampleExampleExampleExample
xdoublev.xσυστατικό X
ydoublev.yσυστατικό Y
zdoublev.zσυστατικό Z

Υπολογιζόμενες Ιδιότητες

ExampleExampleExampleExample
lengthdoublegetLength()Ευκλείδεια μήκος (sqrt(x^2+y^2+z^2)), μόνο για ανάγνωση
length2doublegetLength2()Τετράγωνο μήκος, μόνο για ανάγνωση· φθηνότερο από getLength() όταν απαιτείται μόνο η σύγκριση

Στατικά Πεδία

ExampleExampleExample
ZEROVector3Vector3(0, 0, 0)
ONEVector3Vector3(1, 1, 1)
UNIT_XVector3Vector3(1, 0, 0)
UNIT_YVector3Vector3(0, 1, 0)
UNIT_ZVector3Vector3(0, 0, 1)

Example

ExampleΤύπος ΕπιστροφήςExample
set(double x, double y, double z)voidΟρίζει και τα τρία συστατικά επί τόπου
dot(Vector3 rhs)doubleεσωτερικό γινόμενο με άλλο Vector3
cross(Vector3 rhs)Vector3Διανυσματικό γινόμενο – επιστρέφει ένα διάνυσμα κάθετο και στα δύο τελεστές
normalize()Vector3Επιστρέφει ένα αντίγραφο μονάδας μήκους· επιστρέφει το μηδενικό διάνυσμα εάν το μήκος είναι μηδέν
angleBetween(Vector3 dir)doubleΓωνία σε ακτίνια μεταξύ αυτού του διανύσματος και dir
angleBetween(Vector3 dir, Vector3 up)doubleΥπογεγραμμένη γωνία σε ακτίνια προβεβλημένη στο επίπεδο που ορίζεται από up
sin()Vector3Ημίτονο κατά συνιστώσα
cos()Vector3Συνημίτονο κατά συνιστώσα
compareTo(Vector3 other)intΛεξικογραφική σύγκριση: επιστρέφει -1, 0 ή 1
Vector3.parse(String s)Vector3Στατικό. Αναλύει "x y z" αναπαράσταση συμβολοσειράς

Example

import com.aspose.threed.*;
import com.aspose.threed.Scene;

// Basic arithmetic
Vector3 a = new Vector3(1.0, 0.0, 0.0);
Vector3 b = new Vector3(0.0, 1.0, 0.0);

// Dot and cross products
double dot = a.dot(b);           // 0.0
Vector3 perp = a.cross(b);      // Vector3(0, 0, 1)

// Normalize
Vector3 direction = new Vector3(3.0, 4.0, 0.0);
Vector3 unit = direction.normalize();   // Vector3(0.6, 0.8, 0.0)
System.out.println(unit.getLength());    // 1.0

// Angle between vectors
double angle = a.angleBetween(b);
System.out.println(Math.toDegrees(angle));   // 90.0

// Use with a scene node transform
Scene scene = new Scene();
Node node = scene.getRootNode().createChildNode("box");
node.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

Δείτε επίσης

 Ελληνικά