Class Vector3

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

Vector3 je primárním matematickým typem používaným napříč @aspose/3d API pro pozice, směry, Eulerovy úhly a měřítka. Je exportován 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';

Properties

Vypočítejte střední bod mezi dvěma pozicemi a normalizujte vektor směru.

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

Properties

PropertiesProperties
new Vector3(x, y, z)Vytvořit ze tří číselných komponent.
new Vector3(v)Vyplnit všechny tři komponenty stejnou skalární hodnotou.

Properties

PropertiesPropertiesProperties
xnumberKomponenta X. Čitelná a zapisovatelná.
ynumberKomponenta Y. Čitelná a zapisovatelná.
znumberKomponenta Z. Čitelná a zapisovatelná.
lengthnumber (pouze pro čtení)Eukleidovská délka: sqrt(x² + y² + z²).
length2number (pouze pro čtení)Čtvercová délka: x² + y² + z². Levnější než length při porovnávání pouze velikostí.
zeroVector3 (pouze pro čtení)Vrací nový Vector3(0, 0, 0).
oneVector3 (pouze pro čtení)Vrací nový Vector3(1, 1, 1).
unitXVector3 (pouze pro čtení)Vrací nový Vector3(1, 0, 0).
unitYVector3 (pouze pro čtení)Vrací nový Vector3(0, 1, 0).
unitZVector3 (pouze pro čtení)Vrací nový Vector3(0, 0, 1).

Properties

set(x, y, z)

Mění vektor na místě, nastaví všechny tři komponenty.

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

dot(rhs)

Vrací skalární součin tohoto vektoru a rhs.

dot(rhs: Vector3): number

Properties

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)

Vrací nový Vector3 který je vektorovým součinem tohoto vektoru a rhs.

cross(rhs: Vector3): Vector3

Properties

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

Vrací nový Vector3 se stejným směrem, ale jednotkovou délkou. Vrací (0, 0, 0) pokud má tento vektor nulovou délku.

normalize(): Vector3

minus(v)

Vrací nový Vector3 rovný this - v.

minus(v: Vector3): Vector3

times(scalar)

Vrací nový Vector3 rovnо this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Vrací úhel v radiánech mezi tímto vektorem a dir. Pokud up je zadáno, úhel se vypočítá v rovině kolmé na up (podepsaný úhel v té rovině).

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

sin()

Vrací nový Vector3 s Math.sin aplikováno po složkách.

sin(): Vector3

cos()

Vrací nový Vector3 s Math.cos aplikováno po složkách.

cos(): Vector3

equals(other)

Properties true pokud jsou všechny tři složky striktně rovny.

equals(other: Vector3): boolean

compareTo(other)

Properties -1, 0, nebo 1 používá lexikografické řazení na (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Rozebere řetězec oddělený mezerami obsahující tři čísla do Vector3. Vyhodí výjimku, pokud je formát neplatný.

static parse(input: string): Vector3

Properties

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

Vrací řetězec ve tvaru Vector3(x, y, z).

toString(): string
 Čeština