Vector3 — Aspose.3D FOSS for Java

Methods

Vector3 est un vecteur à double précision à 3 composantes avec x, y, et z composantes. Il est utilisé partout dans Aspose.3D pour les positions, les directions, les normales et les valeurs d’échelle. Toutes les opérations arithmétiques renvoient de nouvelles Vector3 instances ; l’original n’est pas modifié.

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()Construit le vecteur nul (0, 0, 0)
Vector3(double x, double y, double z)Construit à partir de trois composantes
Vector3(Vector3 other)Constructeur de copie

Champs publics

Vector3 utilise champs publics pour l’accès aux composantes (pas de méthodes getter/setter):

MethodsMethodsMethodsMethods
xdoublev.xcomposante X
ydoublev.yComposante Y
zdoublev.zComposante Z

Propriétés calculées

MethodsMethodsMethodsMethods
lengthdoublegetLength()Longueur euclidienne (sqrt(x^2+y^2+z^2)), lecture seule
length2doublegetLength2()Longueur au carré, lecture seule ; moins coûteux que getLength() lorsqu’une comparaison suffit

Champs statiques

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

MethodsType de retourMethods
set(double x, double y, double z)voidDéfinit les trois composantes sur place
dot(Vector3 rhs)doubleProduit scalaire avec un autre Vector3
cross(Vector3 rhs)Vector3Produit vectoriel — renvoie un vecteur perpendiculaire aux deux opérandes
normalize()Vector3Renvoie une copie de longueur unitaire ; renvoie le vecteur nul si la longueur est zéro
angleBetween(Vector3 dir)doubleAngle en radians entre ce vecteur et dir
angleBetween(Vector3 dir, Vector3 up)doubleAngle signé en radians projeté sur le plan défini par up
sin()Vector3Sinus par composante
cos()Vector3Cosinus par composante
compareTo(Vector3 other)intComparaison lexicographique : renvoie -1, 0 ou 1
Vector3.parse(String s)Vector3Statique. Analyse "x y z" représentation sous forme de chaîne

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

Voir aussi

 Français