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';Example
Двухкомпонентен вектор с двойна точност, който x и y полета.
export class Vector2Example
new Vector2(x: number = 0.0, y: number = 0.0)Example
| Example | Example | Example | Example |
|---|---|---|---|
x | number | четене/запис | Първа (хоризонтална) компонента. |
y | number | четене/запис | Втора (вертикална) компонента. |
length | number | четене | Евклидов дължина: sqrt(x² + y²). |
length2 | number | четене | Квадратирана дължина: x² + y². По-евтино от length при сравняване на разстоянията. |
Example
set(x, y)
Задава и двете компоненти на място.
set(newX: number, newY: number): voidgetItem(key) / setItem(key, value)
Достъп по индекс; key трябва да бъде 0 или 1.
equals(other)
Пълна API справка за всички Aspose FOSS библиотеки. Изберете семейство продукти, за да разгледате класове, методи и свойства.
equals(other: Vector2): booleanVector2.parse(input) (статичен)
Разчитай низ, разделен с интервали "x y" в Vector2.
static parse(input: string): Vector2toString()
Example "Vector2(x, y)".
Example
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)
Example
Четирикомпонентен вектор с двойна точност x, y, z, и w полета. Използва се като тип на елементите на Mesh.controlPoints и масиви с данни за елементите на върховете.
export class Vector4Example
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 се подава като втори аргумент.
Example
| Example | Example | Example | Example |
|---|---|---|---|
x | number | четене/запис | Първи компонент. |
y | number | четене/запис | Втори компонент. |
z | number | четене/запис | Трет компонент. |
w | number | четене/запис | Четвърт (хомогенен) компонент. За позиционни данни, w е 1.0. |
Example
set(x, y, z, w?)
Задайте всички компоненти на място. w по подразбиране е 1.0.
set(newX: number, newY: number, newZ: number, newW: number = 1.0): voidgetItem(key) / setItem(key, value)
Достъп по индекс; key трябва да бъде 0–3.
equals(other)
Обекти от тип Chart не се създават директно. Използвайте ws.charts.add(...) или типизираните удобни методи (add_bar(), add_line(), add_pie(), add_area()).
toString()
Example "Vector4(x, y, z, w)".
Example
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
add:
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');