GlobalTransform

GlobalTransform — Aspose.3D FOSS for Python API Reference

Example

GlobalTransform הוא קריאה בלבד תמונת מצב של Nodeהטרנספורמציה במרחב‑העולם של ’s. היא מתקבלת דרך node.global_transform ומשקפת את הרכבה של ה‑node עצמו Transform עם הטרנספורמציה של כל הצאצאים עד לשורש הסצנה.

כל המאפיינים הם קריאה בלבד. כדי לשנות את מיקום ה‑node, שנה את ה‑local של ה‑node Transform במקום זאת.

Example: aspose.threed

from aspose.threed import GlobalTransform

GlobalTransform לא נוצר בדרך כלל node.global_transform.

Example

ExampleExampleExample
translationVector3מיקום במרחב‑העולם של ה‑node
scaleVector3קנה מידה במרחב‑העולם של ה‑node
rotationQuaternionסיבוב במרחב‑העולם כקוואטרניון
euler_anglesVector3סיבוב במרחב‑העולם כזוויות אוילר ברדיאנים (roll, pitch, yaw)
transform_matrixMatrix4מטריצה מלאה 4×4 של טרנספורמציה במרחב‑העולם

Example

from aspose.threed import Scene
from aspose.threed.utilities import Vector3
import math

scene = Scene()

# Create a parent node at (10, 0, 0)
parent = scene.root_node.create_child_node("parent")
parent.transform.translation = Vector3(10.0, 0.0, 0.0)

# Create a child node at (5, 0, 0) relative to parent
child = parent.create_child_node("child")
child.transform.translation = Vector3(5.0, 0.0, 0.0)

# Read world-space position
gt = child.global_transform
print(gt.translation)          # Vector3(15.0, 0.0, 0.0)
print(gt.scale)                # Vector3(1.0, 1.0, 1.0)

# Access the 4x4 matrix directly
mat = gt.transform_matrix
print(mat.m03)   # 15.0 — world-space X translation

# Euler angles in degrees
angles = gt.euler_angles
print(math.degrees(angles.x))   # 0.0 (no rotation)

# Using evaluate_global_transform to include geometric offset
manual_mat = child.evaluate_global_transform(True)

Example

  • GlobalTransform מחושבת בזמן node.global_transform נגיש; היא לא מתעדכן דינמית אם של צומת הורה Transform שינויים מאוחרים יותר.
  • Example scale שם המאפיין על GlobalTransform הוא scale (לא scaling) Transform משתמש scaling עבור מאפיין הסקלה הניתן לכתיבה.

ראה גם

 עברית