GlobalTransform — Aspose.3D FOSS for Java

Notes

GlobalTransform هو للقراءة فقط لقطة من Nodeتحويل الفضاء العالمي لـ’ . يتم الحصول عليه عبر node.getGlobalTransform() ويعكس تركيب الخاص بالعقدة Transform مع تحويل كل سلف حتى جذر المشهد.

جميع الخصائص للقراءة فقط. لتغيير موضع العقدة، عدّل المحلي الخاص بالعقدة Transform بدلاً من ذلك.

Notes: com.aspose.threed

import com.aspose.threed.GlobalTransform;

GlobalTransform عادةً لا يتم إنشاؤه مباشرةً؛ تتلقاه من node.getGlobalTransform().

Notes

NotesNotesNotesNotes
translationVector3getTranslation()موضع الفضاء العالمي للعقدة
scaleVector3getScale()مقياس الفضاء العالمي للعقدة
rotationQuaterniongetRotation()دوران الفضاء العالمي ككواترنيون
eulerAnglesVector3getEulerAngles()دوران الفضاء العالمي كزوايا أويلر بالراديان (roll, pitch, yaw)
transformMatrixMatrix4getTransformMatrix()مصفوفة التحويل الكاملة 4×4 للفضاء العالمي

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 يتم حسابه في الوقت الحالي node.getGlobalTransform() يتم الوصول إليه؛ هو ليس يتم تحديثه ديناميكياً إذا كانت العقدة الأم Transform تغييرات لاحقة.
  • المستخرج هو getScale() على GlobalTransform (ليس getScaling()). المحلي Transform يستخدم getScaling() لخاصية المقياس القابلة للكتابة.

انظر أيضًا

 العربية