Class Vector3

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

Vector3 er den primære matematiske typen som brukes gjennom hele @aspose/3d API-et for posisjoner, 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';

ImageRenderOptions

Beregn midtpunktet mellom to posisjoner 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...)

ImageRenderOptions

ImageRenderOptionsImageRenderOptions
new Vector3(x, y, z)Konstruer fra tre numeriske komponenter.
new Vector3(v)Fyll alle tre komponentene med samme skalarverdi.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
xnumberX‑komponenten. Lesbar og skrivbar.
ynumberY‑komponenten. Lesbar og skrivbar.
znumberZ‑komponenten. Lesbar og skrivbar.
lengthnumber (kun lesing)Euklidisk lengde: sqrt(x² + y² + z²).
length2number (kun lesing)Kvadrert lengde: x² + y² + z². Billigere enn length når du kun sammenligner størrelser.
zeroVector3 (skrivebeskyttet)Returnerer en ny Vector3(0, 0, 0).
oneVector3 (skrivebeskyttet)Returnerer en ny Vector3(1, 1, 1).
unitXVector3 (kun lesing)Returnerer en ny Vector3(1, 0, 0).
unitYVector3 (kun lesing)Returnerer en ny Vector3(0, 1, 0).
unitZVector3 (kun lesing)Returnerer en ny Vector3(0, 0, 1).

ImageRenderOptions

set(x, y, z)

Endrer vektoren på stedet ved å sette alle tre komponentene.

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

dot(rhs)

Returnerer skalarproduktet av denne vektoren og 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)

Returnerer en ny Vector3 som er kryssproduktet av denne vektoren og 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()

Returnerer en ny Vector3 med samme retning men enhetslengde. Returnerer (0, 0, 0) hvis denne vektoren har null lengde.

normalize(): Vector3

minus(v)

Returnerer en ny Vector3 lik this - v.

minus(v: Vector3): Vector3

times(scalar)

Returnerer en ny Vector3 lik this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Returnerer vinkelen i radianer mellom denne vektoren og dir. Hvis up er oppgitt, beregnes vinkelen i planet som er vinkelrett på up (signert vinkel i det planet).

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)

ImageRenderOptions true hvis alle tre komponentene er strengt like.

equals(other: Vector3): boolean

compareTo(other)

ImageRenderOptions -1, 0, eller 1 ved bruk av leksikografisk sortering på (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Tolker en hvitromseparert streng med tre tall til en Vector3. Kaster en feil hvis formatet er ugyldig.

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

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

toString(): string
 Norsk