إضافة تحويل إلى العقدة

TSR (Translation/Scaling/Rotation) هي الأكثر استخدامًا في السيناريو ثلاثي الأبعاد، لقد قدمنا فئة Transform للوصول إلى هذه التحويلات الخطية في Aspose.3D. تتضمن التحويلات الخطية:

  • Translation (الترجمة)
  • Scaling (القياس)
  • Rotation (الدوران)
  • Shear mapping (رسم الخرائط القص)
  • Squeeze mapping (رسم الخرائط الضغط)

Rotate by Euler Angles

var aspose = aspose || {};

aspose.threed = require("aspose.threed");

// Initialize scene object
var scene = new aspose.threed.Scene();

// Initialize cylinder
var cylinder =new aspose.threed.Cylinder(2, 2, 10, 20, 1, false);

// Create ChildNode
var Node=scene.getRootNode().createChildNode(cylinder);

// Euler angles
Node.getTransform().setEulerAngles(new aspose.threed.Vector3(30, 40, 50));

// Set translation
Node.getTransform().setTranslation(new aspose.threed.Vector3(0, 0, 20));

// Save
scene.save("TransformationToNode.obj");

Custom Transformation Matrix

يمكننا أيضًا استخدام Matrix مباشرة:

var aspose = aspose || {};

aspose.threed = require("aspose.threed");

// Initialize scene object
var scene = new aspose.threed.Scene();

// Initialize cylinder
var cylinder =new aspose.threed.Cylinder(2, 2, 10, 20, 1, false);

// Create ChildNode
var Node=scene.getRootNode().createChildNode(cylinder);

// Set custom translation matrix
Node.getTransform().setTransformMatrix(new aspose.threed.Matrix4(
    1, -0.3, 0, 0,
    0.4, 1, 0.3, 0,
    0, 0, 1, 0,
    0, 20, 0, 1
));

// Save
scene.save("TransformationToNode.obj");