Class BoundingBox

Class BoundingBox

Gói: @aspose/3d (v24.12.0)

BoundingBox đại diện cho một hộp bao trùm theo trục (AABB) trong không gian 3D. Nó lưu trữ một minimum đỉnh và một maximum đỉnh dưới dạng các đối tượng đơn giản với x, y, z các trường. Một đối tượng mới được tạo BoundingBox() không có đối số sẽ ở trạng thái “null” — minimum trả về +Infinitymaximum trả về -Infinity — và mở rộng đúng khi các điểm được thêm qua merge(). BoundingBox được xuất khẩu từ @aspose/3d/utilities đường dẫn phụ.

export class BoundingBox
import { BoundingBox } from '@aspose/3d/utilities';

Enumerations

Tính toán một bounding box cho một tập hợp các điểm.

import { BoundingBox, Vector3 } from '@aspose/3d/utilities';

const points = [
  new Vector3(-1, 0, -1),
  new Vector3(1, 2, 1),
  new Vector3(0, -0.5, 0),
];

const bbox = new BoundingBox();
for (const p of points) {
  bbox.merge(p);
}

console.log(`Min: (${bbox.minimum.x}, ${bbox.minimum.y}, ${bbox.minimum.z})`);
// Min: (-1, -0.5, -1)
console.log(`Max: (${bbox.maximum.x}, ${bbox.maximum.y}, ${bbox.maximum.z})`);
// Max: (1, 2, 1)

const c = bbox.center;
console.log(`Center: (${c.x}, ${c.y.toFixed(3)}, ${c.z})`);
// Center: (0, 0.750, 0)

Enumerations

EnumerationsEnumerations
new BoundingBox()Tạo một hộp bao trùm null. Mở rộng khi merge() được gọi.
new BoundingBox(minimum, maximum)Tạo một hộp từ hai {x, y, z} đối tượng góc.
new BoundingBox(minX, minY, minZ, maxX, maxY, maxZ)Tạo một hộp từ sáu thành phần vô hướng.

Thuộc tính tĩnh

EnumerationsEnumerationsEnumerations
BoundingBox.nullBoundingBoxMột hộp bao null (không có phạm vi, chưa được khởi tạo).
BoundingBox.infiniteBoundingBoxMột hộp bao phủ toàn bộ phạm vi số từ -Infinity đến +Infinity.

Enumerations

Tên quan trọng: BoundingBox sử dụng minimummaximum — không minmax.

EnumerationsEnumerationsEnumerations
minimum{x: number, y: number, z: number} (chỉ đọc)Góc có giá trị x, y, z nhỏ nhất. Trả về +Infinity trên mỗi trục khi hộp là null.
maximum{x: number, y: number, z: number} (chỉ đọc)Góc có giá trị x, y, z lớn nhất. Trả về -Infinity trên mỗi trục khi hộp là null.
center{x: number, y: number, z: number} (chỉ đọc)Trung tâm hình học, được tính bằng (minimum + maximum) / 2. Trả về (0, 0, 0) khi null.
size{x: number, y: number, z: number} (chỉ đọc)Kích thước của hộp: maximum - minimum theo mỗi trục.
extentBoundingBoxExtent (chỉ đọc)Nửa kích thước dọc theo mỗi trục. Mỗi trường là Math.abs(size / 2).

Enumerations

merge(point)

Mở rộng hộp bao để bao gồm một điểm. Chấp nhận một {x, y, z} đối tượng, một Vector3, một mảng gồm 3 số, hoặc ba (x, y, z) đối số.

merge(point: Vector3 | {x: number, y: number, z: number}): void
merge(x: number, y: number, z: number): void

Enumerations

import { BoundingBox, Vector3 } from '@aspose/3d/utilities';

const bb = new BoundingBox();
bb.merge(new Vector3(2, 3, 4));
bb.merge(-1, 0, 0);
console.log(`Min X: ${bb.minimum.x}`); // Min X: -1
console.log(`Max Y: ${bb.maximum.y}`); // Max Y: 3

contains(arg)

Enumerations true nếu điểm hoặc hộp bao được cho hoàn toàn nằm trong hộp này. Chấp nhận một {x, y, z} đối tượng điểm, một Vector3, hoặc một BoundingBox.

contains(arg: Vector3 | {x: number, y: number, z: number} | BoundingBox): boolean

Enumerations

import { BoundingBox, Vector3 } from '@aspose/3d/utilities';

const bb = new BoundingBox(-1, -1, -1, 1, 1, 1);
console.log(bb.contains(new Vector3(0, 0, 0)));  // true
console.log(bb.contains(new Vector3(2, 0, 0)));  // false

overlapsWith(box)

Enumerations true nếu hộp bao này chồng lên một hộp khác BoundingBox (các cạnh chạm nhau cũng được tính là chồng lên nhau).

overlapsWith(box: BoundingBox): boolean

scale()

Trả về giá trị tọa độ tuyệt đối lớn nhất trên tất cả các góc, đại diện cho tỉ lệ chi phối của hộp bao. Trả về 0 khi hộp là null.

scale(): number

BoundingBoxExtent

BoundingBoxExtent là một lớp đồng hành được trả về bởi BoundingBox.extent. Nó lưu trữ nửa kích thước dọc theo mỗi trục.

EnumerationsEnumerationsEnumerations
extentXnumberNửa chiều rộng dọc theo X.
extentYnumberNửa chiều cao dọc theo Y.
extentZnumberNửa chiều sâu dọc theo Z.
 Tiếng Việt