Class Vector3
Gói: @aspose/3d (v24.12.0)
Vector3 là kiểu toán học chính được sử dụng xuyên suốt @aspose/3d API cho vị trí, hướng, góc Euler và hệ số tỉ lệ. Nó được xuất ra từ @aspose/3d/utilities đường dẫn phụ.
export class Vector3import { Vector3 } from '@aspose/3d/utilities';
// or via the main entry point when used with Transform/GlobalTransform
import { Scene } from '@aspose/3d';Enumerations
Tính điểm trung bình giữa hai vị trí và chuẩn hoá một vector hướng.
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...)
Enumerations
| Enumerations | Enumerations |
|---|---|
new Vector3(x, y, z) | Khởi tạo từ ba thành phần số. |
new Vector3(v) | Điền cả ba thành phần bằng cùng một giá trị vô hướng. |
Enumerations
| Enumerations | Enumerations | Enumerations |
|---|---|---|
x | number | Thành phần X. Có thể đọc và ghi. |
y | number | Thành phần Y. Có thể đọc và ghi. |
z | number | Thành phần Z. Có thể đọc và ghi. |
length | number (chỉ đọc) | Độ dài Euclid: sqrt(x² + y² + z²). |
length2 | number (chỉ đọc) | Độ dài bình phương: x² + y² + z². Rẻ hơn so với length khi chỉ so sánh độ lớn. |
zero | Vector3 (chỉ đọc) | Trả về một đối tượng mới Vector3(0, 0, 0). |
one | Vector3 (chỉ đọc) | Trả về một đối tượng mới Vector3(1, 1, 1). |
unitX | Vector3 (chỉ đọc) | Trả về một đối tượng mới Vector3(1, 0, 0). |
unitY | Vector3 (chỉ đọc) | Trả về một đối tượng mới Vector3(0, 1, 0). |
unitZ | Vector3 (chỉ đọc) | Trả về một đối tượng mới Vector3(0, 0, 1). |
Enumerations
set(x, y, z)
Thay đổi vector tại chỗ, thiết lập cả ba thành phần.
set(newX: number, newY: number, newZ: number): voiddot(rhs)
Trả về tích vô hướng của vector này và rhs.
dot(rhs: Vector3): numberEnumerations
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)
Trả về một đối tượng mới Vector3 là tích có hướng của vector này và rhs.
cross(rhs: Vector3): Vector3Enumerations
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()
Trả về một đối tượng mới Vector3 có cùng hướng nhưng độ dài đơn vị. Trả về (0, 0, 0) nếu vector này có độ dài bằng 0.
normalize(): Vector3minus(v)
Trả về một đối tượng mới Vector3 bằng this - v.
minus(v: Vector3): Vector3times(scalar)
Trả về một đối tượng mới Vector3 bằng this * scalar.
times(scalar: number): Vector3angleBetween(dir, up?)
Trả về góc tính bằng radian giữa vectơ này và dir. Nếu up được cung cấp, góc được tính trong mặt phẳng vuông góc với up (góc có dấu trong mặt phẳng đó).
angleBetween(dir: Vector3, up?: Vector3): numbersin()
Trả về một đối tượng mới Vector3 với Math.sin được áp dụng từng thành phần.
sin(): Vector3cos()
Trả về một đối tượng mới Vector3 với Math.cos được áp dụng từng thành phần.
cos(): Vector3equals(other)
Enumerations true nếu ba thành phần đều hoàn toàn bằng nhau.
equals(other: Vector3): booleancompareTo(other)
Enumerations -1, 0, hoặc 1 sử dụng thứ tự từ điển trên (x, y, z).
compareTo(other: Vector3): numberstatic parse(input)
Phân tích một chuỗi ba số cách nhau bằng khoảng trắng thành một Vector3. Ném ngoại lệ nếu định dạng không hợp lệ.
static parse(input: string): Vector3Enumerations
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()
Trả về một chuỗi ở dạng Vector3(x, y, z).
toString(): string