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';

Examples

Изчислете средната точка между две позиции и нормализирайте вектор на посока.

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

Examples

ExamplesExamples
new Vector3(x, y, z)Конструира се от три числови компонента.
new Vector3(v)Запълнете всичките три компонента със същата скаларна стойност.

Examples

ExamplesExamplesExamples
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).

Examples

set(x, y, z)

Мутира вектора на място, задавайки всички три компоненти.

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

dot(rhs)

Връща скаларното произведение на този вектор и rhs.

dot(rhs: Vector3): number

Examples

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

Examples

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)

Examples true ако всичките три компоненти са строго равни.

equals(other: Vector3): boolean

compareTo(other)

Examples -1, 0, или 1 използвайки лексикографско подреждане на (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Разбира низ, разделен с интервали, съдържащ три числа, в Vector3. Хвърля изключение, ако форматът е невалиден.

static parse(input: string): Vector3

Examples

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
 Български