Class Vector3

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

Vector3 es el tipo matemático principal utilizado a lo largo del @aspose/3d API para posiciones, direcciones, ángulos de Euler y factores de escala. Se exporta desde el @aspose/3d/utilities sub‑ruta.

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

Calcule el punto medio entre dos posiciones y normalice un vector de dirección.

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)Construir a partir de tres componentes numéricos.
new Vector3(v)Rellenar los tres componentes con el mismo valor escalar.

Examples

ExamplesExamplesExamples
xnumberEl componente X. De lectura y escritura.
ynumberEl componente Y. De lectura y escritura.
znumberEl componente Z. De lectura y escritura.
lengthnumber (solo lectura)Longitud euclidiana: sqrt(x² + y² + z²).
length2number (solo lectura)Longitud al cuadrado: x² + y² + z². Más barato que length cuando solo se comparan magnitudes.
zeroVector3 (solo lectura)Devuelve un nuevo Vector3(0, 0, 0).
oneVector3 (solo lectura)Devuelve un nuevo Vector3(1, 1, 1).
unitXVector3 (solo lectura)Devuelve un nuevo Vector3(1, 0, 0).
unitYVector3 (solo lectura)Devuelve un nuevo Vector3(0, 1, 0).
unitZVector3 (solo lectura)Devuelve un nuevo Vector3(0, 0, 1).

Examples

set(x, y, z)

Modifica el vector in situ, estableciendo los tres componentes.

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

dot(rhs)

Devuelve el producto escalar de este vector y 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)

Devuelve un nuevo Vector3 que es el producto vectorial de este vector y 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()

Devuelve un nuevo Vector3 con la misma dirección pero de longitud unitaria. Devuelve (0, 0, 0) si este vector tiene longitud cero.

normalize(): Vector3

minus(v)

Devuelve un nuevo Vector3 igual a this - v.

minus(v: Vector3): Vector3

times(scalar)

Devuelve un nuevo Vector3 igual a this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Devuelve el ángulo en radianes entre este vector y dir. Si up se proporciona, el ángulo se calcula en el plano perpendicular a up (ángulo con signo en ese plano).

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

sin()

Devuelve un nuevo Vector3 con Math.sin aplicado componente a componente.

sin(): Vector3

cos()

Devuelve un nuevo Vector3 con Math.cos aplicado componente a componente.

cos(): Vector3

equals(other)

Examples true si los tres componentes son estrictamente iguales.

equals(other: Vector3): boolean

compareTo(other)

Examples -1, 0, o 1 usando orden lexicográfico en (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Analiza una cadena separada por espacios de tres números en un Vector3. Lanza una excepción si el formato es inválido.

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

Devuelve una cadena con el formato Vector3(x, y, z).

toString(): string
 Español