Class Transform

بسته: @aspose/3d (v24.12.0)

Transform موقعیت محلی، چرخش و مقیاس یک Node در فضای شیء. این ویژگی دسترسی مستقیم به خصوصیت‌ها را فراهم می‌کند (translation, scaling, rotation) و روش‌های تنظیم زنجیره‌ای (setTranslation, setScale, setEulerAngles, setRotation). تمام تنظیم‌کننده‌ها کش ماتریس داخلی را نامعتبر می‌کنند؛ ماتریس بازمحاسبه‌شده از طریق transformMatrix.

export class Transform extends A3DObject

Transform

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

TransformTransformTransformTransform
translationVector3(0, 0, 0)موقعیت محلی گره در فضای مختصات والد آن.
scalingVector3(1, 1, 1)عوامل مقیاس محلی در هر محور. توجه: این خصوصیت scaling,، نه scale.
rotationQuaternionهویتچرخش محلی به صورت یک کواترنیون واحد. تنظیم این مقدار همچنین به‌روزرسانی می‌کند eulerAngles.
eulerAnglesVector3(0, 0, 0)چرخش محلی به صورت زاویه‌های اویلر بر حسب رادیان (پچ، یاو، رول). تنظیم این مقدار همچنین به‌روزرسانی می‌کند rotation.
transformMatrixMatrix4هویتماتریس تبدیل کامل از محلی به والد. به‌صورت تنبل از ویژگی‌های TRS محاسبه می‌شود؛ همچنین می‌توان به‌صورت مستقیم تنظیم شد تا به مؤلفه‌های TRS تجزیه شود.
preRotationVector3(0, 0, 0)چرخش اویلر اعمال‌شده قبل از چرخش اصلی (در rigهای FBX استفاده می‌شود).
postRotationVector3(0, 0, 0)چرخش اویلر اعمال‌شده پس از چرخش اصلی (در rigهای FBX استفاده می‌شود).
scalingOffsetVector3(0, 0, 0)جابه‌جایی ترجمه اعمال‌شده قبل از نقطه محوری مقیاس‌گذاری (سازگار با FBX).
scalingPivotVector3(0, 0, 0)نقطه محوری که مقیاس‌گذاری حول آن اعمال می‌شود.
rotationOffsetVector3(0, 0, 0)جابه‌جایی ترجمه اعمال‌شده قبل از نقطه محوری چرخش.
rotationPivotVector3(0, 0, 0)نقطهٔ محوری که حول آن چرخش اعمال می‌شود.
geometricTranslationVector3(0, 0, 0)ترجمهٔ هندسی که پس از تبدیل گره اعمال می‌شود (بر هندسه تأثیر می‌گذارد، نه بر فرزندان).
geometricScalingVector3(1, 1, 1)مقیاس هندسی که پس از تبدیل گره اعمال می‌شود (بر هندسه تأثیر می‌گذارد، نه بر فرزندان).
geometricRotationVector3(0, 0, 0)چرخش هندسی که پس از تبدیل گره اعمال می‌شود (بر هندسه تأثیر می‌گذارد، نه بر فرزندان).

Transform

setTranslation(tx, ty, tz)

ترجمهٔ محلی را تنظیم می‌کند و باز می‌گرداند this برای زنجیره‌سازی متدها.

setTranslation(tx: number, ty: number, tz: number): Transform

Transform

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): Transform

Transform

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): Transform

Transform

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): Transform

Transform

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): Transform

Transform

Transform


setPostRotation(rx, ry, rz)

زاویه‌های اویلر پس‌چرخش را بر حسب رادیان تنظیم می‌کند و باز می‌گرداند this.

setPostRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform


setGeometricTranslation(x, y, z)

جابه‌جایی هندسی را تنظیم می‌کند (بر هندسه این گره تأثیر می‌گذارد اما بر فرزندان آن تأثیری ندارد) و مقدار بازگشت را برمی‌گرداند this.

setGeometricTranslation(x: number, y: number, z: number): Transform

Transform

Transform


setGeometricScaling(sx, sy, sz)

مقیاس‌گذاری هندسی را تنظیم می‌کند و مقدار بازگشت را برمی‌گرداند this.

setGeometricScaling(sx: number, sy: number, sz: number): Transform

Transform

Transform


setGeometricRotation(rx, ry, rz)

چرخش هندسی را تنظیم می‌کند (زاویه‌های اویلر به رادیان) و مقدار بازگشت را برمی‌گرداند this.

setGeometricRotation(rx: number, ry: number, rz: number): Transform

Transform

Transform

 فارسی