Aggiunta di una Trasformazione al Nodo

TSR (Traduzione/Scala/Rotazione) sono più comunemente usati in uno scenario 3D, abbiamo fornito una classe Transform per accedere a queste in Aspose.3D. Le trasformazioni affini includono:

  • Traduzione
  • Scala
  • Rotazione
  • Mappatura di taglio
  • Mappatura di spremitura

Ruota con Angoli di Eulero

var aspose = aspose || {};

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

// Inizializza oggetto scena
var scene = new aspose.threed.Scene();

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

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

// Angoli di Eulero
Node.getTransform().setEulerAngles(new aspose.threed.Vector3(30, 40, 50));

// Imposta la traduzione
Node.getTransform().setTranslation(new aspose.threed.Vector3(0, 0, 20));

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

Trasformazione Matriciale Personalizzata

Possiamo anche usare direttamente una Matrice:

var aspose = aspose || {};

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

// Inizializza oggetto scena
var scene = new aspose.threed.Scene();

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

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

// Imposta la matrice di traduzione personalizzata
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
));

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