Vector3 — Aspose.3D FOSS for Java

Example

Vector3 je vektor dvostruke preciznosti sa 3 komponente sa x, y, i z komponente. Koristi se širom Aspose.3D za pozicije, pravce, normale i vrednosti skale. Sve aritmetičke operacije vraćaju nove Vector3 instance; original nije izmenjen.

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()Kreira nulti vektor (0, 0, 0)
Vector3(double x, double y, double z)Kreira iz tri komponente
Vector3(Vector3 other)Kopirajuci konstruktor

Javna polja

Vector3 koristi javna polja za pristup komponentama (ne metode get/set):

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

Izračunata svojstva

ExampleExampleExampleExample
lengthdoublegetLength()Euklidska dužina (sqrt(x^2+y^2+z^2)), samo za čitanje
length2doublegetLength2()Kvadrirana dužina, samo za čitanje; jeftinija od getLength() kada je potrebna samo uporedbа

Статичка поља

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

ExampleTip povratkaExample
set(double x, double y, double z)voidPostavlja sve tri komponente na mestu
dot(Vector3 rhs)doubleSkalarni proizvod sa drugim Vector3
cross(Vector3 rhs)Vector3Vektorski proizvod – vraća vektor koji je okomit na oba operanda
normalize()Vector3Vraća kopiju jedinične dužine; vraća nulti vektor ako je dužina nula
angleBetween(Vector3 dir)doubleUgao u radijanima između ovog vektora i dir
angleBetween(Vector3 dir, Vector3 up)doublePotpisani ugao u radijanima projektovan na ravan definisanu od strane up
sin()Vector3Sinus po komponentama
cos()Vector3Kosinus po komponentama
compareTo(Vector3 other)intLeksikografsko poređenje: vraća -1, 0 ili 1
Vector3.parse(String s)Vector3Statički. Parsira "x y z" tekstualna reprezentacija

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

Vidi takođe

 Српски