Class Vector3

Pakiet: @aspose/3d (v24.12.0)

Vector3 jest podstawowym typem matematycznym używanym w całym @aspose/3d API dla pozycji, kierunków, kątów Eulera i współczynników skali. Jest eksportowany z @aspose/3d/utilities podścieżki.

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

ImageRenderOptions

Oblicz środek pomiędzy dwoma pozycjami i znormalizuj wektor kierunku.

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

ImageRenderOptions

ImageRenderOptionsImageRenderOptions
new Vector3(x, y, z)Utwórz z trzech komponentów numerycznych.
new Vector3(v)Wypełnij wszystkie trzy komponenty tą samą wartością skalarną.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
xnumberKomponent X. Odczytywalny i zapisywalny.
ynumberKomponent Y. Odczytywalny i zapisywalny.
znumberKomponent Z. Odczytywalny i zapisywalny.
lengthnumber (tylko do odczytu)Długość euklidesowa: sqrt(x² + y² + z²).
length2number (tylko do odczytu)Długość kwadratowa: x² + y² + z². Tańszy niż length gdy porównujemy wyłącznie wielkości.
zeroVector3 (tylko do odczytu)Zwraca nowy Vector3(0, 0, 0).
oneVector3 (tylko do odczytu)Zwraca nowy Vector3(1, 1, 1).
unitXVector3 (tylko do odczytu)Zwraca nowy Vector3(1, 0, 0).
unitYVector3 (tylko do odczytu)Zwraca nowy Vector3(0, 1, 0).
unitZVector3 (tylko do odczytu)Zwraca nowy Vector3(0, 0, 1).

ImageRenderOptions

set(x, y, z)

Modyfikuje wektor w miejscu, ustawiając wszystkie trzy składowe.

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

dot(rhs)

Zwraca skalarny iloczyn tego wektora i rhs.

dot(rhs: Vector3): number

ImageRenderOptions

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)

Zwraca nowy Vector3 który jest iloczynem wektorowym tego wektora i rhs.

cross(rhs: Vector3): Vector3

ImageRenderOptions

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

Zwraca nowy Vector3 z tym samym kierunkiem, ale o jednostkowej długości. Zwraca (0, 0, 0) jeśli ten wektor ma zerową długość.

normalize(): Vector3

minus(v)

Zwraca nowy Vector3 równy this - v.

minus(v: Vector3): Vector3

times(scalar)

Zwraca nowy Vector3 równy this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Zwraca kąt w radianach pomiędzy tym wektorem a dir. Jeśli up jest podany, kąt jest obliczany w płaszczyźnie prostopadłej do up (kąt ze znakiem w tej płaszczyźnie).

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

sin()

Zwraca nowy Vector3 z Math.sin zastosowany składnikowo.

sin(): Vector3

cos()

Zwraca nowy Vector3 z Math.cos zastosowany składnikowo.

cos(): Vector3

equals(other)

ImageRenderOptions true jeśli wszystkie trzy składniki są ściśle równe.

equals(other: Vector3): boolean

compareTo(other)

ImageRenderOptions -1, 0, lub 1 używając porządku leksykograficznego na (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Analizuje ciąg znaków trzech liczb oddzielonych białymi znakami i konwertuje go na Vector3. Rzuca wyjątek, jeśli format jest nieprawidłowy.

static parse(input: string): Vector3

ImageRenderOptions

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

Zwraca ciąg znaków w formie Vector3(x, y, z).

toString(): string
 Polski