Vector3 — Aspose.3D FOSS for Java

Methods

Vector3 je dvojité přesnosti 3‑komponentový vektor s x, y, a z komponenty. Používá se v celém Aspose.3D pro pozice, směry, normály a hodnoty měřítka. Všechny aritmetické operace vracejí nové Vector3 instance; originál není změněn.

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

Methods

MethodsMethods
Vector3()Vytvoří nulový vektor (0, 0, 0)
Vector3(double x, double y, double z)Vytvoří ze tří komponent
Vector3(Vector3 other)Kopírovací konstruktor

Veřejná pole

Vector3 používá veřejná pole pro přístup ke komponentám (ne metody getter/setter):

MethodsMethodsMethodsMethods
xdoublev.xKomponenta X
ydoublev.yKomponenta Y
zdoublev.zKomponenta Z

Vypočtené vlastnosti

MethodsMethodsMethodsMethods
lengthdoublegetLength()Eukleidovská délka (sqrt(x^2+y^2+z^2)), jen pro čtení
length2doublegetLength2()Čtvercová délka, jen pro čtení; levnější než getLength() když je potřeba pouze porovnání

Statické pole

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

Methods

MethodsNávratový typMethods
set(double x, double y, double z)voidNastaví všechny tři komponenty na místě
dot(Vector3 rhs)doubleSkalární součin s jiným Vector3
cross(Vector3 rhs)Vector3Křížový součin – vrací vektor kolmo na oba operandy
normalize()Vector3Vrací kopii jednotkové délky; vrací nulový vektor, pokud je délka nula
angleBetween(Vector3 dir)doubleÚhel v radiánech mezi tímto vektorem a dir
angleBetween(Vector3 dir, Vector3 up)doublePodepsaný úhel v radiánech promítnutý na rovinu definovanou up
sin()Vector3Sínus po složkách
cos()Vector3Kosinus po složkách
compareTo(Vector3 other)intLexikografické porovnání: vrací -1, 0 nebo 1
Vector3.parse(String s)Vector3Statické. Analyzuje "x y z" řetězcová reprezentace

Methods

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

Viz také

 Čeština