Das Hinzufügen einer Transformation zum Knoten

TSR (Translation/Scaling/Rotation) werden am häufigsten in 3D-Szenarien verwendet, wir haben eine Klasse Transform bereitgestellt, um Zugriff auf diese in Aspose.3D-affinen Transformationen zu erhalten. Diese beinhalten:

  • Translation
  • Scaling
  • Rotation
  • Scherabbildung
  • Quetschabbildung

Rotieren mit Euler-Winkeln

var aspose = aspose || {};

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

// Initialisiere Szenenobjekt
var scene = new aspose.threed.Scene();

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

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

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

// Setze Translation
Node.getTransform().setTranslation(new aspose.threed.Vector3(0, 0, 20));

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

Benutzerdefinierte Transformationsmatrix

Wir können auch direkt eine Matrix verwenden:

var aspose = aspose || {};

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

// Initialisiere Szenenobjekt
var scene = new aspose.threed.Scene();

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

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

// Setze benutzerdefinierte Translationsmatrix
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
));

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