Vector3 — Aspose.3D FOSS for Java

Enumerations

Vector3 je dvostruke preciznosti 3-komponentni vektor s x, y, i z komponenta. Koristi se diljem Aspose.3D za položaje, smjerove, normale i vrijednosti skaliranja. Sve aritmetičke operacije vraćaju nove Vector3 instancije; original se ne mijenja.

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();

Enumerations

EnumerationsEnumerations
Vector3()Kreira nulti vektor (0, 0, 0)
Vector3(double x, double y, double z)Kreira iz triju komponenti
Vector3(Vector3 other)Kopirni konstruktor

Javna polja

Vector3 koristi javna polja za pristup komponentama (ne metode getter/setter):

EnumerationsEnumerationsEnumerationsEnumerations
xdoublev.xX komponenta
ydoublev.yY komponenta
zdoublev.zZ komponenta

Izračunata svojstva

EnumerationsEnumerationsEnumerationsEnumerations
lengthdoublegetLength()Euklidska duljina (sqrt(x^2+y^2+z^2)), samo za čitanje
length2doublegetLength2()Kvadrirana duljina, samo za čitanje; jeftinija od getLength() kada je potrebna samo usporedba

Statička polja

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

Enumerations

EnumerationsTip povratkaEnumerations
set(double x, double y, double z)voidPostavlja sve tri komponente na mjestu
dot(Vector3 rhs)doubleSkalarni produkt s drugim Vector3
cross(Vector3 rhs)Vector3Vektorski produkt – vraća vektor okomit na oba operanda
normalize()Vector3Vraća kopiju jedinične duljine; vraća nulti vektor ako je duljina nula
angleBetween(Vector3 dir)doubleKut u radijanima između ovog vektora i dir
angleBetween(Vector3 dir, Vector3 up)doublePotpisani kut u radijanima projektiran na ravninu definiranu od up
sin()Vector3Sinus po komponentama
cos()Vector3Kosinus po komponentama
compareTo(Vector3 other)intLeksikografsko uspoređivanje: vraća -1, 0 ili 1
Vector3.parse(String s)Vector3Statički. Parsira "x y z" tekstualna reprezentacija

Enumerations

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

Vidi također

 Hrvatski