Vector2 / Vector4

Vector2, Vector4 — Aspose.3D TypeScript API Reference

Пакет: @aspose/3d (v24.12.0)

Vector2 і Vector4 є типами векторів подвійної точності, експортованими з @aspose/3d/utilities. Vector2 є стандартним типом 2D координат для UV-даних. Vector4 є 4‑компонентним однорідним типом, що використовується для контрольних точок сітки та масивів даних елементів вершин.

import { Vector2, Vector4 } from '@aspose/3d';

Enumerations

Двохкомпонентний вектор з подвійною точністю, що має x і y поля.

export class Vector2

Enumerations

new Vector2(x: number = 0.0, y: number = 0.0)

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
xnumberчитати/записуватиПерший (горизонтальний) компонент.
ynumberчитати/записуватиДругий (вертикальний) компонент.
lengthnumberчитатиЄвклідова довжина: sqrt(x² + y²).
length2numberчитатиКвадрат довжини: x² + y². Дешевше, ніж length при порівнянні відстаней.

Enumerations

set(x, y)

Встановлює обидва компоненти на місці.

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

getItem(key) / setItem(key, value)

Доступ за індексом; key повинен бути 0 або 1.

equals(other)

Порівняння рівності по компонентах.

equals(other: Vector2): boolean

Vector2.parse(input) (статичний)

Розібрати рядок, розділений пробілами "x y" у Vector2.

static parse(input: string): Vector2

toString()

Enumerations "Vector2(x, y)".

Enumerations

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)

Enumerations

Чотирьохкомпонентний вектор подвійної точності з x, y, z, та w полями. Використовується як тип елементу для Mesh.controlPoints та масивів даних елементів вершин.

export class Vector4

Enumerations

new Vector4()
new Vector4(x: number, y: number, z: number, w: number)
new Vector4(vec3: FVector3, w: number)
new Vector4(vec: FVector2, w: number)

Конструктор за замовчуванням створює (0, 0, 0, 1). При створенні з FVector3, the xyz компоненти беруться з вектора і w передається як другий аргумент.

Enumerations

EnumerationsEnumerationsEnumerationsEnumerations
xnumberчитання/записПерший компонент.
ynumberчитання/записДругий компонент.
znumberчитання/записТретій компонент.
wnumberчитання/записЧетвертий (однорідний) компонент. Для даних позиції, w є 1.0.

Enumerations

set(x, y, z, w?)

Встановити всі компоненти на місці. w за замовчуванням 1.0.

set(newX: number, newY: number, newZ: number, newW: number = 1.0): void

getItem(key) / setItem(key, value)

Доступ за індексом; key повинен бути 03.

equals(other)

Рівність по компонентах.

toString()

Enumerations "Vector4(x, y, z, w)".

Enumerations

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

Заповнити контрольні точки сітки:

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

Див. також

 Українська