Class Transform

الحزمة: @aspose/3d (v24.12.0)

التحويل يحتفظ بالموقع المحلي، والدوران، والقياس لـ Node في فضاء الكائن. يوفر كلًا من الوصول المباشر إلى الخاصية (translation, scaling, rotation) وطرق تعيين متسلسلة (setTranslation, setScale, setEulerAngles, setRotation). جميع المُعيّنات تُلغي ذاكرة التخزين المؤقت للمصفوفة الداخلية؛ المصفوفة المعاد حسابها متاحة عبر transformMatrix.

export class Transform extends A3DObject

Transform

A3DObject ← Transform

Transform

حدد الموقع، وقم بالدوران، وقم بالتحجيم لعقدة باستخدام واجهة برمجة التطبيقات المتسلسلة.

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)دوران أويلر يُطبق قبل الدوران الرئيسي (يُستخدم في هياكل FBX).
postRotationVector3(0, 0, 0)دوران أويلر يُطبق بعد الدوران الرئيسي (يُستخدم في هياكل 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 — الميل (الدوران حول المحور 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): Transform

Transform

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

 العربية