Vector2, Vector4 — Aspose.3D TypeScript API Reference
패키지: @aspose/3d (v24.12.0)
Vector2 및 Vector4 는 double-precision 벡터 타입이며, 다음에서 내보내집니다 @aspose/3d/utilities. Vector2 는 UV 데이터용 표준 2D 좌표 타입입니다. Vector4 는 메시 제어점 및 정점 요소 데이터 배열에 사용되는 4-컴포넌트 동차 타입입니다.
import { Vector2, Vector4 } from '@aspose/3d';Examples
두 구성 요소를 가진 double-precision 벡터 x 및 y 필드.
export class Vector2Examples
new Vector2(x: number = 0.0, y: number = 0.0)Examples
| Examples | Examples | Examples | Examples |
|---|---|---|---|
x | number | 읽기/쓰기 | 첫 번째 (수평) 컴포넌트. |
y | number | 읽기/쓰기 | 두 번째 (수직) 컴포넌트. |
length | number | 읽기 전용 | 유클리드 길이: sqrt(x² + y²). |
length2 | number | 읽다 | 제곱 길이: x² + y². 보다 저렴함 length 거리를 비교할 때. |
Examples
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()
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
4개의 구성 요소를 가진 double-precision 벡터 x, y, z, 및 w 필드. 다음의 요소 유형으로 사용됩니다 Mesh.controlPoints 및 정점 요소 데이터 배열.
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)기본 생성자는 다음을 생성합니다 (0, 0, 0, 1). 생성할 때 FVector3, xyz 구성 요소는 벡터에서 가져오며 w 두 번째 인수로 제공됩니다.
Examples
| Examples | Examples | Examples | Examples |
|---|---|---|---|
x | number | 읽기/쓰기 | 첫 번째 구성 요소. |
y | number | 읽기/쓰기 | 두 번째 구성 요소. |
z | number | 읽기/쓰기 | 세 번째 구성 요소. |
w | number | 읽기/쓰기 | 네 번째 (동질) 구성 요소. 위치 데이터에 대해, w 이다 1.0. |
Examples
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()
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
메시 제어점을 채우기:
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');