Class Vector3

Balík: @aspose/3d (v24.12.0)

Vector3 je primárny matematický typ používaný v celom @aspose/3d API pre pozície, smerovanie, Eulerove uhly a mierkové faktory. Je exportovaný z @aspose/3d/utilities podcesty.

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

Vypočítajte stredový bod medzi dvoma pozíciami a normalizujte smerový vektor.

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)Vytvoriť z troch číselných komponentov.
new Vector3(v)Vyplniť všetky tri komponenty rovnakou skalárnou hodnotou.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
xnumberKomponent X. Čitateľná a zapisovateľná.
ynumberKomponent Y. Čitateľná a zapisovateľná.
znumberKomponent Z. Čitateľná a zapisovateľná.
lengthnumber (iba na čítanie)Euklidovská dĺžka: sqrt(x² + y² + z²).
length2number (iba na čítanie)Štvorcová dĺžka: x² + y² + z². Lacnejšie ako length keď sa porovnávajú iba veľkosti.
zeroVector3 (len na čítanie)Vráti nový Vector3(0, 0, 0).
oneVector3 (len na čítanie)Vráti nový Vector3(1, 1, 1).
unitXVector3 (len na čítanie)Vráti nový Vector3(1, 0, 0).
unitYVector3 (len na čítanie)Vráti nový Vector3(0, 1, 0).
unitZVector3 (len na čítanie)Vráti nový Vector3(0, 0, 1).

ImageRenderOptions

set(x, y, z)

Zmení vektor na mieste, nastavením všetkých troch komponentov.

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

dot(rhs)

Vráti skalárny súčin tohto vektora a 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)

Vráti nový Vector3 ktorý je vektorovým súčinom tohto vektora a 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()

Vráti nový Vector3 so rovnakým smerom, ale jednotkovou dĺžkou. Vráti (0, 0, 0) ak má tento vektor nulovú dĺžku.

normalize(): Vector3

minus(v)

Vráti nový Vector3 rovná sa this - v.

minus(v: Vector3): Vector3

times(scalar)

Vráti nový Vector3 rovná sa this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Vráti uhol v radiánoch medzi týmto vektorom a dir. Ak up je poskytnuté, uhol sa vypočíta v rovine kolmo na up (signovaný uhol v tej rovine).

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

sin()

Vráti nový Vector3 s Math.sin aplikované po komponentoch.

sin(): Vector3

cos()

Vráti nový Vector3 s Math.cos aplikované po komponentoch.

cos(): Vector3

equals(other)

ImageRenderOptions true ak sú všetky tri komponenty prísne rovné.

equals(other: Vector3): boolean

compareTo(other)

ImageRenderOptions -1, 0, alebo 1 pomocou lexikografického usporiadania na (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Analyzuje reťazec oddelený medzerami obsahujúci tri čísla do Vector3. Vyhodí výnimku, ak je formát neplatný.

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

Vráti reťazec v tvare Vector3(x, y, z).

toString(): string
 Slovenčina