Class Transform
חבילה: @aspose/3d (v24.12.0)
Transform מחזיק במיקום המקומי, סיבוב וקנה מידה של Node במרחב האובייקט. הוא מספק גם גישה ישירה למאפיין (translation, scaling, rotation)setTranslation, setScale, setEulerAngles, setRotation). כל המגדירים מבטלים מטמון מטריצה פנימי; המטריצה המחושבת מחדש זמינה דרך transformMatrix.
export class Transform extends A3DObjectTransform
A3DObject ← Transform
Transform
מקם, סובב והגדל node באמצעות ה-API השוטף.
import { Scene, Node, Mesh } from '@aspose/3d';
import { Vector3, Quaternion } from '@aspose/3d/utilities';
const scene = new Scene();
const node = scene.rootNode.createChildNode('box');
// Fluent chain: translate, scale, then rotate 45° around Y
node.transform
.setTranslation(0, 1, 0)
.setScale(2, 2, 2)
.setEulerAngles(0, Math.PI / 4, 0);
console.log(`Translation: ${node.transform.translation}`);
// Translation: Vector3(0, 1, 0)
Transform
Transform | Transform | Transform | Transform |
|---|---|---|---|
translation | Vector3 | (0, 0, 0) | מיקום מקומי של הצומת במרחב הקואורדינטות של ההורה שלו. |
scaling | Vector3 | (1, 1, 1) | גורמי קנה מידה מקומיים לאורך כל ציר. שים לב: המאפיין הוא scaling, ולא scale. |
rotation | Quaternion | זהות | סיבוב מקומי כקוואטרניון יחיד. הגדרת זה גם מעדכנת eulerAngles. |
eulerAngles | Vector3 | (0, 0, 0) | סיבוב מקומי המוצג כזוויות אוילר ברדיאנים (pitch, yaw, roll). הגדרת זה גם מעדכנת rotation. |
transformMatrix | Matrix4 | זהות | מטריצת ההמרה המלאה מ‑local ל‑parent. מחושבת באופן עצלני מהמאפיינים TRS; ניתן גם להגדיר ישירות כדי לפרק לרכיבי TRS. |
preRotation | Vector3 | (0, 0, 0) | סיבוב אוילר שמיושם לפני הסיבוב הראשי (משמש בריגים של FBX). |
postRotation | Vector3 | (0, 0, 0) | סיבוב אוילר שמיושם אחרי הסיבוב הראשי (משמש בריגים של FBX). |
scalingOffset | Vector3 | (0, 0, 0) | הזזת תרגום שמיושמת לפני נקודת הציר של הקנה (תואם ל‑FBX). |
scalingPivot | Vector3 | (0, 0, 0) | נקודת ציר סביב שהיא מתבצע הקנה. |
rotationOffset | Vector3 | (0, 0, 0) | הזזת תרגום שמיושמת לפני נקודת הציר של הסיבוב. |
rotationPivot | Vector3 | (0, 0, 0) | נקודת ציר סביב שהיא מתבצע הסיבוב. |
geometricTranslation | Vector3 | (0, 0, 0) | תרגום גאומטרי שמיושם אחרי שינוי הצומת (משפיע על הגאומטריה, לא על הילדים). |
geometricScaling | Vector3 | (1, 1, 1) | קנה מידה גאומטרי המיושם לאחר שינוי הצומת (משפיע על הגאומטריה, לא על הילדים). |
geometricRotation | Vector3 | (0, 0, 0) | סיבוב גאומטרי המיושם לאחר שינוי הצומת (משפיע על הגאומטריה, לא על הילדים). |
Transform
setTranslation(tx, ty, tz)
מגדיר את ההזזה המקומית ומחזיר this לשרשור שיטות.
setTranslation(tx: number, ty: number, tz: number): TransformTransform
tx number — רכיב X של ההזזה.
ty number — רכיב Y של ההזזה.
tz number — רכיב Z של ההזזה.
Transform
Transform — זהה Transform מופע לצורך שרשור.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('pivot');
node.transform.setTranslation(10, 0, -5);
console.log(`X: ${node.transform.translation.x}`); // X: 10
setScale(sx, sy, sz)
מגדיר את קנה המידה המקומי ומחזיר this לשרשור שיטות.
setScale(sx: number, sy: number, sz: number): TransformTransform
sx number — גורם קנה המידה לאורך X.
sy number — גורם קנה המידה לאורך Y.
sz number — גורם קנה המידה לאורך Z.
Transform
Transform — זהה Transform מופע לצורך שרשור.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('big');
node.transform.setScale(3, 3, 3);
console.log(`Scale X: ${node.transform.scaling.x}`); // Scale X: 3
setEulerAngles(rx, ry, rz)
מגדיר את הסיבוב באמצעות זוויות אוילר ברדיאנים ומחזיר this. ה rotation הקווטרני מתעדכן אוטומטית.
setEulerAngles(rx: number, ry: number, rz: number): TransformTransform
rx number — Pitch (סיבוב סביב ציר X) ברדיאנים.
ry number — Yaw (סיבוב סביב ציר Y) ברדיאנים.
rz number — Roll (סיבוב סביב ציר Z) ברדיאנים.
Transform
Transform — זהה Transform מופע לצורך שרשור.
Transform
import { Scene } from '@aspose/3d';
const scene = new Scene();
const node = scene.rootNode.createChildNode('rotated');
// Rotate 90° around Y axis
node.transform.setEulerAngles(0, Math.PI / 2, 0);
console.log(`Euler Y: ${node.transform.eulerAngles.y.toFixed(4)}`);
// Euler Y: 1.5708
setRotation(rw, rx, ry, rz)
מגדיר את הסיבוב מרכיבי הקווטרניון ומחזיר this. ה eulerAngles המאפיין מתעדכן אוטומטית.
setRotation(rw: number, rx: number, ry: number, rz: number): TransformTransform
rw number — רכיב סקלרי (w) של הקווטרניון.
rx number — רכיב X של הקווטרניון.
ry number — רכיב Y של הקווטרניון.
rz number — רכיב Z של הקווטרניון.
Transform
Transform — זהה Transform מופע לצורך שרשור.
setPreRotation(rx, ry, rz)
מגדיר את זוויות אוילר של הקידום לפני סיבוב ברדיאנים ומחזיר this.
setPreRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setPostRotation(rx, ry, rz)
מגדיר את זוויות אוילר של הסיבוב שלאחר ברדיאנים ומחזיר this.
setPostRotation(rx: number, ry: number, rz: number): TransformTransform
Transform
setGeometricTranslation(x, y, z)
מגדיר את הסטת התרגום הגאומטרית (משפיע על הגאומטריה של צומת זה אך לא על הצמתים הצאצאים) ומחזיר this.
setGeometricTranslation(x: number, y: number, z: number): TransformTransform
Transform
setGeometricScaling(sx, sy, sz)
מגדיר את הסטת הקנה המידה הגאומטרית ומחזיר this.
setGeometricScaling(sx: number, sy: number, sz: number): TransformTransform
Transform
setGeometricRotation(rx, ry, rz)
מגדיר את הסטת הסיבוב הגאומטרית (זוויות אוילר ברדיאנים) ומחזיר this.
setGeometricRotation(rx: number, ry: number, rz: number): TransformTransform
Transform