Transformation zum Knoten hinzufügen
Contents
[
Hide
]
Aspose.3D for Python via .NET bietet an, Objekte in 3D Raum zu drehen. Es gibt drei Möglichkeiten, die Rotation des Objekts im Raum 3D zu definieren, Euler winkel, Quaternion und Custom Matrix. Alle werden von der
Transform-Klasse unterstützt.
TSR (Translation/Skalierung/Rotation) werden am häufigsten im 3D-Szenario verwendet. Wir haben eine Klasse Transform bereit gestellt, um auf diese in Aspose.3D zuzugreifen. Affine Transformationen umfassen:
- Übersetzung
- Skalierung
- Rotation
- Scher kartierung
- Squeeze-Mapping
Das
Mesh-Klassen objekt wird im Code verwendet. Wir können Erstellen Sie ein Mesh-Klassen objekt, wie es dort erzählt wird.
Drehen Sie durch Quaternion
from aspose.threed import FileFormat, Node, Scene
from aspose.threed.utilities import Quaternion, Vector3
# For complete examples and data files, please go to https:# github.com/aspose-3d/Aspose.3D-for-.NET
# Initialize scene object
scene = Scene()
# Initialize Node class object
cubeNode = Node("cube")
# Call Common class create mesh using polygon builder method to set mesh instance
mesh = Common.CreateMeshUsingPolygonBuilder()
# Point node to the Mesh geometry
cubeNode.entity = mesh
# Set rotation
cubeNode.transform.rotation = Quaternion.from_rotation(Vector3(0, 1, 0), Vector3(0.3, 0.5, 0.1))
# Set translation
cubeNode.transform.translation = Vector3(0, 0, 20)
# Add cube to the scene
scene.root_node.child_nodes.append(cubeNode)
# The path to the documents directory.
output = "out" + "TransformationToNode.fbx"
# Save 3D scene in the supported file formats
scene.save(output, FileFormat.FBX7500ASCII)Drehen Sie durch Euler Winkel
from aspose.threed import FileFormat, Node, Scene
from aspose.threed.utilities import Vector3
# For complete examples and data files, please go to https:# github.com/aspose-3d/Aspose.3D-for-.NET
# Initialize scene object
scene = Scene()
# Initialize Node class object
cubeNode = Node("cube")
# Call Common class create mesh using polygon builder method to set mesh instance
mesh = Common.CreateMeshUsingPolygonBuilder()
# Point node to the Mesh geometry
cubeNode.entity = mesh
# Euler angles
cubeNode.transform.euler_angles = Vector3(0.3, 0.1, -0.5)
# Set translation
cubeNode.transform.translation = Vector3(0, 0, 20)
# Add cube to the scene
scene.root_node.child_nodes.append(cubeNode)
# The path to the documents directory.
output = "out" + "TransformationToNode.fbx"
# Save 3D scene in the supported file formats
scene.save(output, FileFormat.FBX7500ASCII)Individuelle Transformation matrix
Wir können Matrix auch direkt verwenden:
from aspose.threed import FileFormat, Node, Scene
from aspose.threed.utilities import Matrix4
# For complete examples and data files, please go to https:# github.com/aspose-3d/Aspose.3D-for-.NET
# Initialize scene object
scene = Scene()
# Initialize Node class object
cubeNode = Node("cube")
# Call Common class create mesh using polygon builder method to set mesh instance
mesh = Common.CreateMeshUsingPolygonBuilder()
# Point node to the Mesh geometry
cubeNode.entity = mesh
# Set custom translation matrix
cubeNode.transform.transform_matrix = Matrix4(1, -0.3, 0, 0, 0.4, 1, 0.3, 0, 0, 0, 1, 0, 0, 20, 0, 1
)
# Add cube to the scene
scene.root_node.child_nodes.append(cubeNode)
# The path to the documents directory.
output = "out" + "TransformationToNode.fbx"
# Save 3D scene in the supported file formats
scene.save(output, FileFormat.FBX7500ASCII)