Class Vector3

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

Vector3 yra pagrindinis matematinis tipas, naudojamas visur @aspose/3d API pozicijoms, kryptims, Eulerio kampams ir mastelio faktoriams. Jis eksportuojamas iš @aspose/3d/utilities subkelio.

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

Apskaičiuokite vidurio tašką tarp dviejų pozicijų ir normalizuokite krypties vektorių.

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)Sukurkite iš trijų skaitinių komponentų.
new Vector3(v)Užpildykite visus tris komponentus ta pačia skaliarine reikšme.

ImageRenderOptions

ImageRenderOptionsImageRenderOptionsImageRenderOptions
xnumberX komponentas. Skaitomas ir rašomas.
ynumberY komponentas. Skaitomas ir rašomas.
znumberZ komponentas. Skaitomas ir rašomas.
lengthnumber (tik skaitymui)Euklido ilgis: sqrt(x² + y² + z²).
length2number (tik skaitymui)Kvadratinis ilgis: x² + y² + z². Pigiau nei length kai lyginami tik dydžiai.
zeroVector3 (tik skaitymui)Grąžina naują Vector3(0, 0, 0).
oneVector3 (tik skaitymui)Grąžina naują Vector3(1, 1, 1).
unitXVector3 (tik skaitymui)Grąžina naują Vector3(1, 0, 0).
unitYVector3 (tik skaitymui)Grąžina naują Vector3(0, 1, 0).
unitZVector3 (tik skaitymui)Grąžina naują Vector3(0, 0, 1).

ImageRenderOptions

set(x, y, z)

Modifikuoja vektorių vietoje, nustatydama visus tris komponentus.

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

dot(rhs)

Grąžina šio vektoriaus skalariąją sandaugą su 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)

Grąžina naują Vector3 kuris yra šio vektoriaus kryžminė sandauga su 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()

Grąžina naują Vector3 su ta pačia kryptimi, bet vieneto ilgiu. Grąžina (0, 0, 0) jei šio vektoriaus ilgis yra nulis.

normalize(): Vector3

minus(v)

Grąžina naują Vector3 lygų this - v.

minus(v: Vector3): Vector3

times(scalar)

Grąžina naują Vector3 lygų this * scalar.

times(scalar: number): Vector3

angleBetween(dir, up?)

Grąžina kampą radianais tarp šio vektoriaus ir dir. Jei up pateikus, kampas apskaičiuojamas plokštumoje, statmeno to up (pasirašytas kampas toje plokštumoje).

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

sin()

Grąžina naują Vector3 su Math.sin taikoma komponentų po vieną.

sin(): Vector3

cos()

Grąžina naują Vector3 su Math.cos taikoma komponentų po vieną.

cos(): Vector3

equals(other)

ImageRenderOptions true jei visi trys komponentai yra griežtai lygūs.

equals(other: Vector3): boolean

compareTo(other)

ImageRenderOptions -1, 0, arba 1 naudojant leksikografinį rikiavimą (x, y, z).

compareTo(other: Vector3): number

static parse(input)

Išskaito tarpų atskirtą trijų skaičių eilutę į Vector3. Išmeta, jei formatas neteisingas.

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

Grąžina eilutę šiuo formatu Vector3(x, y, z).

toString(): string
 Lietuvių