Class Vector3

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

Vector3 er den primære matematiske type, der bruges gennem hele @aspose/3d API’en for positioner, retninger, Euler-vinkler og skaleringsfaktorer. Den eksporteres fra den @aspose/3d/utilities understien.

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

Beregn midtpunktet mellem to positioner og normaliser en retningsvektor.

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

new Vector3(x, y, z)Konstruer fra tre numeriske komponenter.
new Vector3(v)Udfyld alle tre komponenter med den samme skalære værdi.

xnumberX-komponenten. Læselig og skrivbar.
ynumberY-komponenten. Læselig og skrivbar.
znumberZ-komponenten. Læselig og skrivbar.
lengthnumber (kun læsning)Euklidisk længde: sqrt(x² + y² + z²).
length2number (kun læsning)Kvadreret længde: x² + y² + z². Billigere end length når kun størrelser sammenlignes.
zeroVector3 (kun læse)Returnerer en ny Vector3(0, 0, 0).
oneVector3 (kun læse)Returnerer en ny Vector3(1, 1, 1).
unitXVector3 (kun læse)Returnerer en ny Vector3(1, 0, 0).
unitYVector3 (kun læse)Returnerer en ny Vector3(0, 1, 0).
unitZVector3 (kun læse)Returnerer en ny Vector3(0, 0, 1).

set(x, y, z)

Ændrer vektoren på stedet ved at sætte alle tre komponenter.

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

dot(rhs)

Returnerer det skalære skalarprodukt af denne vektor og rhs.

dot(rhs: Vector3): number

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)

Returnerer en ny Vector3 som er krydsproduktet af denne vektor og rhs.

cross(rhs: Vector3): Vector3

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

Returnerer en ny Vector3 med samme retning men enhedslængde. Returnerer (0, 0, 0) hvis denne vektor har nul længde.

normalize(): Vector3

minus(v)

Returnerer en ny Vector3 lig med this - v.

minus(v: Vector3): Vector3

times(scalar)

Returnerer en ny Vector3 lig med this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Returnerer vinklen i radianer mellem denne vektor og dir. Hvis up er angivet, beregnes vinklen i planet vinkelret på up (signeret vinkel i det plan).

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

sin()

Returnerer en ny Vector3 med Math.sin anvendt komponentvis.

sin(): Vector3

cos()

Returnerer en ny Vector3 med Math.cos anvendt komponentvis.

cos(): Vector3

equals(other)

true hvis alle tre komponenter er strengt ens.

equals(other: Vector3): boolean

compareTo(other)

-1, 0, eller 1 ved brug af leksikografisk sortering på (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Fortolker en whitespace-adskilt streng med tre tal til en Vector3. Kaster en fejl, hvis formatet er ugyldigt.

static parse(input: string): Vector3

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

Returnerer en streng i formen Vector3(x, y, z).

toString(): string
 Dansk