Class Vector3

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

Vector3 és el tipus matemàtic principal utilitzat a tot el @aspose/3d API per a posicions, direccions, angles d’Euler i factors d’escala. S’exporta des del @aspose/3d/utilities subcamí.

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

Calcula el punt mig entre dues posicions i normalitza un vector de direcció.

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)Construeix a partir de tres components numèrics.
new Vector3(v)Omple els tres components amb el mateix valor escalar.

Properties

PropertiesPropertiesProperties
xnumberEl component X. Llegible i modificable.
ynumberEl component Y. Llegible i modificable.
znumberEl component Z. Llegible i modificable.
lengthnumber (només de lectura)Longitud euclidiana: sqrt(x² + y² + z²).
length2number (només de lectura)Longitud al quadrat: x² + y² + z². Més barat que length quan només es comparen magnituds.
zeroVector3 (només de lectura)Retorna un nou Vector3(0, 0, 0).
oneVector3 (només de lectura)Retorna un nou Vector3(1, 1, 1).
unitXVector3 (només de lectura)Retorna un nou Vector3(1, 0, 0).
unitYVector3 (només de lectura)Retorna un nou Vector3(0, 1, 0).
unitZVector3 (només de lectura)Retorna un nou Vector3(0, 0, 1).

Properties

set(x, y, z)

Modifica el vector in situ, establint els tres components.

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

dot(rhs)

Retorna el producte escalar d’aquest vector i 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)

Retorna un nou Vector3 que és el producte vectorial d’aquest vector i 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()

Retorna un nou Vector3 amb la mateixa direcció però de longitud unitària. Retorna (0, 0, 0) si aquest vector té longitud zero.

normalize(): Vector3

minus(v)

Retorna un nou Vector3 igual a this - v.

minus(v: Vector3): Vector3

times(scalar)

Retorna un nou Vector3 igual a this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Retorna l’angle en radians entre aquest vector i dir. Si up es proporciona, l’angle es calcula en el pla perpendicular a up (angle signat en aquest pla).

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

sin()

Retorna un nou Vector3 amb Math.sin aplicat component a component.

sin(): Vector3

cos()

Retorna un nou Vector3 amb Math.cos aplicat component a component.

cos(): Vector3

equals(other)

Properties true si els tres components són estrictament iguals.

equals(other: Vector3): boolean

compareTo(other)

Properties -1, 0, o 1 utilitzant l’ordre lexicogràfic sobre (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Analitza una cadena separada per espais en blanc de tres nombres i la converteix en un Vector3. Llança una excepció si el format no és vàlid.

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

Retorna una cadena en la forma Vector3(x, y, z).

toString(): string
 Català