Class Vector3
Paket: @aspose/3d (v24.12.0)
Vector3 ist der primäre mathematische Typ, der in der gesamten @aspose/3d API für Positionen, Richtungen, Euler-Winkel und Skalierungsfaktoren. Er wird aus dem @aspose/3d/utilities Unterpfad.
export class Vector3import { Vector3 } from '@aspose/3d/utilities';
// or via the main entry point when used with Transform/GlobalTransform
import { Scene } from '@aspose/3d';Properties
Berechne den Mittelpunkt zwischen zwei Positionen und normalisiere einen Richtungsvektor.
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
| Properties | Properties |
|---|---|
new Vector3(x, y, z) | Aus drei numerischen Komponenten konstruieren. |
new Vector3(v) | Alle drei Komponenten mit demselben Skalarwert füllen. |
Properties
| Properties | Properties | Properties |
|---|---|---|
x | number | Die X-Komponente. Lesbar und schreibbar. |
y | number | Die Y-Komponente. Lesbar und schreibbar. |
z | number | Die Z-Komponente. Lesbar und schreibbar. |
length | number (schreibgeschützt) | Euklidische Länge: sqrt(x² + y² + z²). |
length2 | number (schreibgeschützt) | Länge im Quadrat: x² + y² + z². Günstiger als length wenn nur die Beträge verglichen werden. |
zero | Vector3 (schreibgeschützt) | Gibt ein neues zurück Vector3(0, 0, 0). |
one | Vector3 (schreibgeschützt) | Gibt ein neues zurück Vector3(1, 1, 1). |
unitX | Vector3 (schreibgeschützt) | Gibt ein neues zurück Vector3(1, 0, 0). |
unitY | Vector3 (schreibgeschützt) | Gibt ein neues zurück Vector3(0, 1, 0). |
unitZ | Vector3 (schreibgeschützt) | Gibt ein neues zurück Vector3(0, 0, 1). |
Properties
set(x, y, z)
Verändert den Vektor vor Ort, indem alle drei Komponenten gesetzt werden.
set(newX: number, newY: number, newZ: number): voiddot(rhs)
Gibt das skalare Skalarprodukt dieses Vektors und rhs.
dot(rhs: Vector3): numberProperties
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)
Gibt ein neues zurück Vector3 das das Kreuzprodukt dieses Vektors und rhs.
cross(rhs: Vector3): Vector3Properties
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()
Gibt ein neues zurück Vector3 mit derselben Richtung, aber Einheitslänge. Gibt (0, 0, 0) wenn dieser Vektor die Länge null hat.
normalize(): Vector3minus(v)
Gibt ein neues zurück Vector3 gleich this - v.
minus(v: Vector3): Vector3times(scalar)
Gibt ein neues zurück Vector3 gleich this * scalar.
times(scalar: number): Vector3angleBetween(dir, up?)
Gibt den Winkel in Radianten zwischen diesem Vektor und dir. Wenn up angegeben ist, wird der Winkel in der Ebene berechnet, die senkrecht zu up (vorzeichenbehafteter Winkel in dieser Ebene).
angleBetween(dir: Vector3, up?: Vector3): numbersin()
Gibt ein neues zurück Vector3 mit Math.sin komponentenweise angewendet.
sin(): Vector3cos()
Gibt ein neues zurück Vector3 mit Math.cos komponentenweise angewendet.
cos(): Vector3equals(other)
Properties true wenn alle drei Komponenten streng gleich sind.
equals(other: Vector3): booleancompareTo(other)
Properties -1, 0, oder 1 unter Verwendung lexikografischer Ordnung für (x, y, z).
compareTo(other: Vector3): numberstatic parse(input)
Parst einen whitespace-getrennten String aus drei Zahlen in ein Vector3.Wirft, wenn das Format ungültig ist.
static parse(input: string): Vector3Properties
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()
Gibt einen String in der Form zurück Vector3(x, y, z).
toString(): string