Class BoundingBox

Class BoundingBox

Paket: @aspose/3d (v24.12.0)

BoundingBox 3B uzayda eksen hizalı bir sınırlayıcı kutuyu (AABB) temsil eder. Bir minimum köşe ve bir maximum köşe düz nesneler olarak x, y, z alanlar. Yeni oluşturulan BoundingBox() argümansız bir nesne “null” durumundadır — minimum döndürür +Infinity ve maximum döndürür -Infinity — ve noktalar aracılığıyla eklendiğinde doğru şekilde genişler merge(). BoundingBox şuradan dışa aktarılır: @aspose/3d/utilities alt-yol.

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

Enumerations

Bir nokta kümesi için sınırlama kutusu hesaplayın.

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()Null bir sınırlayıcı kutu oluşturur. Şu çağrıldığında genişler: merge() çağrıldığında.
new BoundingBox(minimum, maximum)İki nesneden bir kutu oluşturur. {x, y, z} köşe nesneleri.
new BoundingBox(minX, minY, minZ, maxX, maxY, maxZ)Altı skaler bileşenden bir kutu oluşturur.

Statik Özellikler

EnumerationsEnumerationsEnumerations
BoundingBox.nullBoundingBoxBir null sınırlama kutusu (kapsam yok, başlatılmamış).
BoundingBox.infiniteBoundingBoxTüm sayı aralığını kapsayan bir kutu, şu değerden -Infinity şuraya +Infinity.

Enumerations

Önemli adlandırma: BoundingBox kullanır minimum ve maximum — değil min ve max.

EnumerationsEnumerationsEnumerations
minimum{x: number, y: number, z: number} (yalnızca okunur)En küçük x, y, z değerlerine sahip köşe. Returns +Infinity kutu null olduğunda her eksende.
maximum{x: number, y: number, z: number} (yalnızca okunur)En büyük x, y, z değerlerine sahip köşe. Returns -Infinity kutu null olduğunda her eksende.
center{x: number, y: number, z: number} (yalnızca okunur)Geometrik merkez, şu şekilde hesaplanır (minimum + maximum) / 2. Returns (0, 0, 0) null olduğunda.
size{x: number, y: number, z: number} (salt okunur)Kutunun boyutları: maximum - minimum her eksen için.
extentBoundingBoxExtent (yalnızca okunur)Her eksen üzerindeki yarı-uzantılar. Her alan Math.abs(size / 2).

Enumerations

merge(point)

Bir noktayı içerecek şekilde sınırlayıcı kutuyu genişletir. Bir {x, y, z} nesne, bir Vector3, 3 sayının bir dizisi, ya da üç ayrı (x, y, z) argümanlar.

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 Verilen nokta ya da sınırlayıcı kutu bu kutunun içinde tamamen ise. Bir {x, y, z} nokta nesnesi, bir Vector3, ya da başka bir 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 Bu sınırlayıcı kutu başka bir kutuyla örtüşüyorsa BoundingBox (kenarların temas etmesi örtüşme olarak sayılır).

overlapsWith(box: BoundingBox): boolean

scale()

Tüm köşeler arasındaki maksimum mutlak koordinat değerini döndürür, bu da sınırlayıcı kutunun baskın ölçeğini temsil eder. Döndürür 0 kutu null olduğunda.

scale(): number

BoundingBoxExtent

BoundingBoxExtent bir eşlik sınıfıdır, tarafından döndürülür BoundingBox.extent. Her eksen üzerindeki yarı-uzantıları depolar.

EnumerationsEnumerationsEnumerations
extentXnumberX boyunca yarı genişlik.
extentYnumberY boyunca yarı yükseklik.
extentZnumberZ boyunca yarı derinlik.
 Türkçe