GlobalTransform

GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform este un doar în citire instantaneu al unui Nodetransformarea în spațiul mondial al lui ‘. Este obținută prin node.getGlobalTransform() și reflectă compunerea propriei transformări a nodului Transform cu transformarea fiecărui strămoș până la rădăcina scenei.

Toate proprietățile sunt doar în citire. Pentru a schimba poziția unui nod, modifică transformarea locală a nodului Transform în schimb.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform nu este de obicei instanțiat direct; îl primești de la node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()Poziția în spațiul lumii a nodului
scaleVector3getScale()Scara în spațiul lumii a nodului
rotationQuaterniongetRotation()Rotire în spațiul mondial ca un quaternion
eulerAnglesVector3getEulerAngles()Rotire în spațiul mondial ca unghiuri Euler în radiani (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()Matrice completă de transformare 4x4 în spațiul mondial

Notes

import com.aspose.threed.Scene;
import com.aspose.threed.Node;
import com.aspose.threed.GlobalTransform;
import com.aspose.threed.*;


Scene scene = new Scene();

// Create a parent node at (10, 0, 0)
Node parent = scene.getRootNode().createChildNode("parent");
parent.getTransform().setTranslation(new Vector3(10.0, 0.0, 0.0));

// Create a child node at (5, 0, 0) relative to parent
Node child = parent.createChildNode("child");
child.getTransform().setTranslation(new Vector3(5.0, 0.0, 0.0));

// Read world-space position
GlobalTransform gt = child.getGlobalTransform();
System.out.println(gt.getTranslation());          // Vector3(15.0, 0.0, 0.0)
System.out.println(gt.getScale());                 // Vector3(1.0, 1.0, 1.0)

// Access the 4x4 matrix directly
Matrix4 mat = gt.getTransformMatrix();
System.out.println(mat.m03);   // 15.0 -- world-space X translation

// Euler angles in degrees
Vector3 angles = gt.getEulerAngles();
System.out.println(Math.toDegrees(angles.x));   // 0.0 (no rotation)

// Using evaluateGlobalTransform to include geometric offset
Matrix4 manualMat = child.evaluateGlobalTransform(true);

Notes

  • GlobalTransform este calculat la momentul node.getGlobalTransform() este accesat; este nu actualizat dinamic dacă nodul părinte Transform se modifică ulterior.
  • Getter-ul este getScale() pe GlobalTransform (nu getScaling()). Localul Transform folosește getScaling() pentru proprietatea de scară scriabilă.

Vezi și

 Română