Vector2, Vector4 — Aspose.3D TypeScript API Reference
Pacchetto: @aspose/3d (v24.12.0)
Vector2 e Vector4 sono tipi di vettore a doppia precisione esportati da @aspose/3d/utilities. Vector2 è il tipo di coordinata 2D standard per i dati UV. Vector4 è il tipo omogeneo a 4 componenti usato per i punti di controllo della mesh e per gli array di dati degli elementi dei vertici.
import { Vector2, Vector4 } from '@aspose/3d';Examples
Un vettore a doppia precisione a due componenti con x e y campi.
export class Vector2Examples
new Vector2(x: number = 0.0, y: number = 0.0)Examples
| Examples | Examples | Examples | Examples |
|---|---|---|---|
x | number | lettura/scrittura | Prima componente (orizzontale). |
y | number | lettura/scrittura | Seconda componente (verticale). |
length | number | lettura | Lunghezza euclidea: sqrt(x² + y²). |
length2 | number | leggi | Lunghezza al quadrato: x² + y². Più economico di length quando si confrontano le distanze. |
Examples
set(x, y)
Imposta entrambi i componenti in loco.
set(newX: number, newY: number): voidgetItem(key) / setItem(key, value)
Accesso basato su indice; key deve essere 0 oppure 1.
equals(other)
Confronto di uguaglianza componente per componente.
equals(other: Vector2): booleanVector2.parse(input) (statico)
Analizza una stringa separata da spazi "x y" in un Vector2.
static parse(input: string): Vector2toString()
Examples "Vector2(x, y)".
Examples
import { Vector2 } from '@aspose/3d';
const uv = new Vector2(0.5, 0.25);
console.log(uv.x, uv.y); // 0.5 0.25
console.log(uv.length); // ~0.559
const uv2 = Vector2.parse('0.0 1.0');
console.log(uv2.equals(new Vector2(0.0, 1.0))); // true
uv.set(1.0, 0.0);
console.log(uv.toString()); // Vector2(1, 0)
Examples
Un vettore a quattro componenti a doppia precisione con x, y, z, e w campi. Usato come tipo di elemento di Mesh.controlPoints e array di dati di elementi di vertice.
export class Vector4Examples
new Vector4()
new Vector4(x: number, y: number, z: number, w: number)
new Vector4(vec3: FVector3, w: number)
new Vector4(vec: FVector2, w: number)Il costruttore predefinito produce (0, 0, 0, 1). Quando si costruisce da FVector3, il xyz componenti sono presi dal vettore e w viene fornito come secondo argomento.
Examples
| Examples | Examples | Examples | Examples |
|---|---|---|---|
x | number | lettura/scrittura | Primo componente. |
y | number | lettura/scrittura | Secondo componente. |
z | number | lettura/scrittura | Terzo componente. |
w | number | lettura/scrittura | Quarto componente (omogeneo). Per i dati di posizione, w è 1.0. |
Examples
set(x, y, z, w?)
Imposta tutti i componenti al loro posto. w predefinito a 1.0.
set(newX: number, newY: number, newZ: number, newW: number = 1.0): voidgetItem(key) / setItem(key, value)
Accesso basato su indice; key deve essere 0–3.
equals(other)
Uguaglianza componente per componente.
toString()
Examples "Vector4(x, y, z, w)".
Examples
import { Vector4 } from '@aspose/3d';
// Used as mesh control points
const v = new Vector4(1.0, 0.0, 0.0, 1.0);
console.log(v.w); // 1.0
// Index access
console.log(v.getItem(0)); // 1.0
v.setItem(1, 2.0);
console.log(v.y); // 2.0
Popola i punti di controllo della mesh:
import { Scene, Mesh, Vector4 } from '@aspose/3d';
const mesh = new Mesh();
mesh.controlPoints.push(new Vector4(0.0, 0.0, 0.0, 1.0));
mesh.controlPoints.push(new Vector4(1.0, 0.0, 0.0, 1.0));
mesh.controlPoints.push(new Vector4(0.5, 1.0, 0.0, 1.0));
mesh.createPolygon(0, 1, 2);
const scene = new Scene();
scene.rootNode.createChildNode('triangle', mesh);
scene.save('triangle.glb');