Class Quaternion
पैकेज: @aspose/3d (v24.12.0)
Quaternion पूरे में उपयोग किया जाता है @aspose/3d API में गिम्बल लॉक के बिना घूर्णन को दर्शाने के लिए। Transform.rotation और GlobalTransform.rotation. पहचान क्वाटरनियन (1, 0, 0, 0) कोई घूर्णन नहीं दर्शाता है।. Quaternion से निर्यात किया जाता है @aspose/3d/utilities उप-पथ से।.
export class Quaternionimport { Quaternion } from '@aspose/3d/utilities';ColladaSaveOptions
एक नोड को Y अक्ष के चारों ओर 90° घुमाएँ और फिर स्मूथली इंटरपोलेट करके पहचान (identity) पर वापस लाएँ।.
import { Scene } from '@aspose/3d';
import { Quaternion } from '@aspose/3d/utilities';
const scene = new Scene();
const node = scene.rootNode.createChildNode('spinner');
// 90° around Y
const q90 = Quaternion.fromEulerAngle(0, Math.PI / 2, 0);
node.transform.rotation = q90;
// Slerp halfway back to identity
const identity = Quaternion.IDENTITY;
const half = Quaternion.slerp(0.5, q90, identity);
console.log(`Half rotation W: ${half.w.toFixed(4)}`);
// Half rotation W: 0.9239
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions |
|---|---|
new Quaternion() | पहचान क्वाटरनियन बनाता है (1, 0, 0, 0). |
new Quaternion(w, x, y, z) | स्पष्ट घटकों से क्वाटरनियन बनाता है।. |
ColladaSaveOptions
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
w | number | स्केलर (वास्तविक) घटक। एक इकाई घूर्णन क्वाटरनियन के लिए, w = cos(θ/2). |
x | number | वेक्टर भाग का X घटक।. |
y | number | वेक्टर भाग का Y घटक।. |
z | number | वेक्टर भाग का Z घटक।. |
length | number (केवल-रीड) | परिमाण: sqrt(w² + x² + y² + z²). वैध घूर्णन क्वाटरनियन के लिए 1.0 होना चाहिए।. |
स्थैतिक गुण
| ColladaSaveOptions | ColladaSaveOptions | ColladaSaveOptions |
|---|---|---|
Quaternion.IDENTITY | Quaternion | एक नया पहचान क्वाटरनियन लौटाता है (1, 0, 0, 0). |
स्थैतिक मेथड्स
Quaternion.fromEulerAngle(pitch, yaw, roll)
रैडियन में ऑयलर एंगल्स से एक क्वाटरनियन बनाता है।.
static fromEulerAngle(pitch: number, yaw: number, roll: number): Quaternion
static fromEulerAngle(vec: Vector3): QuaternionColladaSaveOptions
pitch number — X अक्ष के चारों ओर रैडियन में घूर्णन।.
yaw number — Y अक्ष के चारों ओर रैडियन में घूर्णन।.
roll number — Z अक्ष के चारों ओर रैडियन में घूर्णन।.
— वैकल्पिक रूप से, एकल पास करें Vector3 — जिसका x, y, z — पिच, यॉ और रोल को रखता है।.
ColladaSaveOptions
import { Quaternion } from '@aspose/3d/utilities';
const q = Quaternion.fromEulerAngle(0, Math.PI / 4, 0); // 45° around Y
console.log(`W: ${q.w.toFixed(4)}`); // W: 0.9239
Quaternion.fromAngleAxis(angle, axis)
— एक क्वाटरनियन बनाता है जो … का घूर्णन दर्शाता है angle — … के चारों ओर रैडियन axis.
static fromAngleAxis(angle: number, axis: Vector3): QuaternionColladaSaveOptions
angle number — रैडियन में घूर्णन कोण।.
axis Vector3 — घूर्णन की धुरी। इसे सामान्यीकृत करने की आवश्यकता नहीं है।.
ColladaSaveOptions
import { Quaternion, Vector3 } from '@aspose/3d/utilities';
const axis = new Vector3(0, 1, 0);
const q = Quaternion.fromAngleAxis(Math.PI / 2, axis);
console.log(`Rotating 90° around Y — W: ${q.w.toFixed(4)}`);
// Rotating 90° around Y — W: 0.7071
Quaternion.fromRotation(orig, dest)
— सबसे छोटे चाप वाला क्वाटरनियन बनाता है जो दिशा वेक्टर को घुमाता है orig — तक dest.
static fromRotation(orig: Vector3, dest: Vector3): QuaternionQuaternion.slerp(t, v1, v2)
— दो बिंदुओं के बीच गोलाकार रैखिक इंटरपोलेशन करता है v1 — और v2 — पैरामीटर पर t (0.0 = v1, 1.0 = v2).
static slerp(t: number, v1: Quaternion, v2: Quaternion): QuaternionColladaSaveOptions
import { Quaternion } from '@aspose/3d/utilities';
const start = Quaternion.fromEulerAngle(0, 0, 0);
const end = Quaternion.fromEulerAngle(0, Math.PI, 0);
const mid = Quaternion.slerp(0.5, start, end);
console.log(`Mid W: ${mid.w.toFixed(4)}`); // Mid W: 0.7071
Quaternion.interpolate(t, fromQ, toQ)
के लिए उपनाम slerp. गोलाकार रैखिक अंतःस्थापन करता है।.
static interpolate(t: number, fromQ: Quaternion, toQ: Quaternion): QuaternionInstance Methods
normalize()
एक नया क्वाटरनियन लौटाता है जो इकाई लंबाई तक स्केल किया गया है।.
normalize(): Quaternionconjugate()
संयुग्मित लौटाता है (w, -x, -y, -z).
conjugate(): Quaternioninverse()
इनवर्स क्वाटरनियन लौटाता है। यदि क्वाटरनियन की लंबाई शून्य है तो त्रुटि फेंकता है।.
inverse(): Quaterniondot(q)
क्वाटरनियन के साथ स्केलर डॉट प्रोडक्ट लौटाता है q.
dot(q: Quaternion): numberconcat(rhs)
क्वाटरनियन गुणनफल लौटाता है this * rhs, पहले लागू करने के संयुक्त घूर्णन को दर्शाते हुए this और फिर rhs.
concat(rhs: Quaternion): QuaternioneulerAngles()
रैडियन में यूलेर कोणों के रूप में व्यक्त घूर्णन को एक Vector3(pitch, yaw, roll).
eulerAngles(): Vector3ColladaSaveOptions
import { Quaternion } from '@aspose/3d/utilities';
const q = Quaternion.fromEulerAngle(0, Math.PI / 3, 0);
const euler = q.eulerAngles();
console.log(`Yaw: ${euler.y.toFixed(4)}`);
// Yaw: 1.0472 (= π/3)
toMatrix()
इस क्वाटरनियन को समतुल्य में परिवर्तित करता है Matrix4 घूर्णन मैट्रिक्स।.
toMatrix(): Matrix4equals(other)
ColladaSaveOptions true यदि सभी चार घटक सख्ती से समान हों।.
equals(other: Quaternion): booleantoString()
रूप में एक स्ट्रिंग लौटाता है Quaternion(w, x, y, z).
toString(): string