Class Vector3

Пакет: @aspose/3d (v24.12.0)

Vector3 є основним типом математики, який використовується по всьому @aspose/3d API для позицій, напрямків, кутів Ейлера та масштабних коефіцієнтів. Він експортується з @aspose/3d/utilities підшляху.

export class Vector3
import { Vector3 } from '@aspose/3d/utilities';
// or via the main entry point when used with Transform/GlobalTransform
import { Scene } from '@aspose/3d';

Enumerations

Обчисліть середню точку між двома позиціями та нормалізуйте вектор напрямку.

import { Vector3 } from '@aspose/3d/utilities';

const a = new Vector3(1, 0, 0);
const b = new Vector3(0, 0, 4);

// Midpoint: average the components manually
const mid = new Vector3(
  (a.x + b.x) * 0.5,
  (a.y + b.y) * 0.5,
  (a.z + b.z) * 0.5
);
console.log(`Midpoint: ${mid}`);
// Midpoint: Vector3(0.5, 0, 2)

// Normalized direction from a to b
const dir = b.minus(a).normalize();
console.log(`Direction: ${dir}`);
// Direction: Vector3(-0.2425..., 0, 0.9701...)

Enumerations

EnumerationsEnumerations
new Vector3(x, y, z)Конструюється з трьох числових компонент.
new Vector3(v)Заповнює всі три компоненти однаковим скалярним значенням.

Enumerations

EnumerationsEnumerationsEnumerations
xnumberКомпонент X. Читабельний і записуваний.
ynumberКомпонент Y. Читабельний і записуваний.
znumberКомпонент Z. Читабельний і записуваний.
lengthnumber (лише для читання)Євклідова довжина: sqrt(x² + y² + z²).
length2number (лише для читання)Квадрат довжини: x² + y² + z². Дешевше, ніж length коли порівнюються лише величини.
zeroVector3 (тільки для читання)Повертає новий Vector3(0, 0, 0).
oneVector3 (тільки для читання)Повертає новий Vector3(1, 1, 1).
unitXVector3 (тільки для читання)Повертає новий Vector3(1, 0, 0).
unitYVector3 (тільки для читання)Повертає новий Vector3(0, 1, 0).
unitZVector3 (лише для читання)Повертає новий Vector3(0, 0, 1).

Enumerations

set(x, y, z)

Змінює вектор на місці, встановлюючи всі три компоненти.

set(newX: number, newY: number, newZ: number): void

dot(rhs)

Повертає скалярний добуток цього вектора і rhs.

dot(rhs: Vector3): number

Enumerations

import { Vector3 } from '@aspose/3d/utilities';

const up = new Vector3(0, 1, 0);
const dir = new Vector3(0.5, 0.5, 0).normalize();
const alignment = up.dot(dir);
console.log(`Dot: ${alignment.toFixed(4)}`); // Dot: 0.7071

cross(rhs)

Повертає новий Vector3 який є векторним добутком цього вектора і rhs.

cross(rhs: Vector3): Vector3

Enumerations

import { Vector3 } from '@aspose/3d/utilities';

const right = new Vector3(1, 0, 0);
const up = new Vector3(0, 1, 0);
const forward = right.cross(up);
console.log(`Forward: ${forward}`);
// Forward: Vector3(0, 0, -1)

normalize()

Повертає новий Vector3 з тим же напрямком, але одиничної довжини. Повертає (0, 0, 0) якщо цей вектор має нульову довжину.

normalize(): Vector3

minus(v)

Повертає новий Vector3 рівний this - v.

minus(v: Vector3): Vector3

times(scalar)

Повертає новий Vector3 рівний this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Повертає кут у радіанах між цим вектором і dir. Якщо up надається, кут обчислюється у площині, перпендикулярній до up (знаковий кут у цій площині).

angleBetween(dir: Vector3, up?: Vector3): number

sin()

Повертає новий Vector3 з Math.sin застосовано по компонентам.

sin(): Vector3

cos()

Повертає новий Vector3 з Math.cos застосовано по компонентам.

cos(): Vector3

equals(other)

Enumerations true якщо всі три компоненти строго рівні.

equals(other: Vector3): boolean

compareTo(other)

Enumerations -1, 0, або 1 використовуючи лексикографічне впорядкування за (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Розбирає рядок, розділений пробілами, що містить три числа, у Vector3. Викидає виключення, якщо формат недійсний.

static parse(input: string): Vector3

Enumerations

import { Vector3 } from '@aspose/3d/utilities';

const v = Vector3.parse('1.5 2.0 -3.0');
console.log(`${v}`); // Vector3(1.5, 2, -3)

toString()

Повертає рядок у формі Vector3(x, y, z).

toString(): string
 Українська