Vector2 / Vector4
Vector2, Vector4 — Aspose.3D TypeScript API Reference
包:: @aspose/3d (v24.12.0)
Vector2 和 Vector4 是从中导出的双精度向量类型 @aspose/3d/utilities. Vector2 是用于 UV 数据的标准二维坐标类型。. Vector4 是用于网格控制点和顶点元素数据数组的四分量齐次类型。.
import { Vector2, Vector4 } from '@aspose/3d';Properties
具有以下属性的双精度二分量向量 x 和 y 字段。.
export class Vector2Properties
new Vector2(x: number = 0.0, y: number = 0.0)Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
x | number | 读/写 | 第一(水平)分量。. |
y | number | 读/写 | 第二(垂直)分量。. |
length | number | 只读 | 欧几里得长度:: sqrt(x² + y²). |
length2 | number | 读取 | 平方长度:: x² + y². 更便宜于 length 在比较距离时。. |
Properties
set(x, y)
就地设置两个分量。.
set(newX: number, newY: number): voidgetItem(key) / setItem(key, value)
基于索引的访问;; key 必须是 0 或 1.
equals(other)
逐分量相等比较。.
equals(other: Vector2): booleanVector2.parse(input) (static)
解析以空格分隔的字符串 "x y" 转换为一个 Vector2.
static parse(input: string): Vector2toString()
Properties "Vector2(x, y)".
Properties
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)
Properties
一个具有四个分量的双精度向量,带有 x, y, z,,以及 w 字段。用作…的元素类型 Mesh.controlPoints 以及顶点元素数据数组。.
export class Vector4Properties
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,,该 xyz 组件取自向量,并 w 作为第二个参数提供。.
Properties
| Properties | Properties | Properties | Properties |
|---|---|---|---|
x | number | 读/写 | 第一分量。. |
y | number | 读/写 | 第二分量。. |
z | number | 读/写 | 第三分量。. |
w | number | 读/写 | 第四(同质)分量。对于位置数据,, w 是 1.0. |
Properties
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)
按分量比较相等。.
toString()
Properties "Vector4(x, y, z, w)".
Properties
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');