Vector3 — Aspose.3D FOSS for Java

Example

Vector3 is een double-precision 3-component vector met x, y, en z componenten. Het wordt overal in Aspose.3D gebruikt voor posities, richtingen, normaalvectoren en schaalwaarden. Alle rekenkundige bewerkingen retourneren nieuwe Vector3 instanties; het origineel wordt niet gewijzigd.

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()Construeert de nulvector (0, 0, 0)
Vector3(double x, double y, double z)Construeert uit drie componenten
Vector3(Vector3 other)Copy-constructor

Publieke velden

Vector3 gebruikt publieke velden voor componenttoegang (geen getter/setter-methoden):

ExampleExampleExampleExample
xdoublev.xX-component
ydoublev.yY-component
zdoublev.zZ-component

Berekende eigenschappen

ExampleExampleExampleExample
lengthdoublegetLength()Euclidische lengte (sqrt(x^2+y^2+z^2)), alleen-lezen
length2doublegetLength2()Kwadratische lengte, alleen-lezen; goedkoper dan getLength() wanneer alleen vergelijking nodig is

Statische velden

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

ExampleRetourtypeExample
set(double x, double y, double z)voidStelt alle drie componenten in op hun plaats
dot(Vector3 rhs)doubleInproduct met een andere Vector3
cross(Vector3 rhs)Vector3Kruisproduct – retourneert een vector die loodrecht staat op beide operanden
normalize()Vector3Retourneert een eenheidslengtekopie; retourneert een nulvector als de lengte nul is
angleBetween(Vector3 dir)doubleHoek in radialen tussen deze vector en dir
angleBetween(Vector3 dir, Vector3 up)doubleOndertekende hoek in radialen geprojecteerd op het vlak dat wordt gedefinieerd door up
sin()Vector3Componentgewijze sinus
cos()Vector3Componentgewijze cosinus
compareTo(Vector3 other)intLexicografische vergelijking: retourneert -1, 0 of 1
Vector3.parse(String s)Vector3Statisch. Parseert "x y z" stringrepresentatie

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

Zie ook

 Nederlands