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) | چرخش محلی به صورت زاویههای اویلر بر حسب رادیان (پچ، یاو، رول). تنظیم این مقدار همچنین بهروزرسانی میکند rotation. |
transformMatrix | Matrix4 | هویت | ماتریس تبدیل کامل از محلی به والد. بهصورت تنبل از ویژگیهای TRS محاسبه میشود؛ همچنین میتوان بهصورت مستقیم تنظیم شد تا به مؤلفههای TRS تجزیه شود. |
preRotation | Vector3 | (0, 0, 0) | چرخش اویلر اعمالشده قبل از چرخش اصلی (در rigهای FBX استفاده میشود). |
postRotation | Vector3 | (0, 0, 0) | چرخش اویلر اعمالشده پس از چرخش اصلی (در rigهای 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 — یاو (چرخش حول محور Y) بر حسب رادیان.
rz number — رول (چرخش حول محور 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 از quaternion.
ry number — مؤلفه Y از quaternion.
rz number — مؤلفه Z از quaternion.
Transform
Transform — همان Transform instance برای زنجیرهسازی.
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