BoundingBox — Aspose.3D FOSS for Python API Reference

Enumerations

BoundingBox एक axis-aligned बाउंडिंग बॉक्स (AABB) दो द्वारा परिभाषित है Vector3 कोनों: minimum (सबसे कम x, y, z) और maximum (सबसे अधिक x, y, z). इसका उपयोग स्पैशियल क्वेरीज़ जैसे point-in-box परीक्षण, frustum culling हेल्पर्स, और सीन-लेवल आकार अनुमान के लिए किया जाता है।.

एक BoundingBox एक में हो सकता है null (empty/uninitialised) स्थिति जब कोई तर्क नहीं दिया गया हो तो बनाई जाती है। कॉल करते हुए merge() null बॉक्स पर यह पहले बिंदु या प्रदान किए गए बॉक्स से इसे प्रारंभ करता है।.

Enumerations: aspose.threed.utilities

from aspose.threed.utilities import BoundingBox, Vector3

Enumerations

EnumerationsEnumerations
BoundingBox()Null (empty) बाउंडिंग बॉक्स
BoundingBox(minimum, maximum)दो से निर्मित Vector3 कोनों
BoundingBox(min_x, min_y, min_z, max_x, max_y, max_z)छह स्केलर मानों से निर्मित

Enumerations

EnumerationsEnumerationsEnumerations
minimumVector3सबसे छोटे x, y, z मानों वाला कोना। लौटाता है (+inf, +inf, +inf) एक शून्य बॉक्स के लिए
maximumVector3सबसे बड़े x, y, z मानों वाला कोना। लौटाता है (-inf, -inf, -inf) एक शून्य बॉक्स के लिए
centerVector3के बीच मध्य बिंदु minimum और maximum; (0,0,0) एक शून्य बॉक्स के लिए
sizeVector3प्रत्येक अक्ष पर विस्तार (maximum - minimum); (0,0,0) एक शून्य बॉक्स के लिए

स्थैतिक फ़ैक्टरी मेथड्स

Enumerationsवापसी प्रकारEnumerations
BoundingBox.get_null()BoundingBoxएक शून्य (खाली) बाउंडिंग बॉक्स लौटाता है
BoundingBox.get_infinite()BoundingBoxसभी स्थान को घेरने वाला अनंत बाउंडिंग बॉक्स लौटाता है

इंस्टेंस मेथड्स

Enumerationsवापसी प्रकारEnumerations
merge(point)Noneबॉक्स को विस्तारित करता है ताकि इसमें एक Vector3, Vector4, या दूसरा BoundingBox
merge(x, y, z)Noneबॉक्स को विस्तारित करता है ताकि इसमें बिंदु शामिल हो (x, y, z)
contains(point)boolEnumerations True यदि Vector3 बिंदु अंदर या सीमा पर स्थित है
contains(box)boolEnumerations True यदि box पूरी तरह से इस बॉक्स के भीतर है
overlaps_with(box)boolEnumerations True यदि दो बॉक्स प्रतिच्छेदित होते हैं
scale()floatसबसे बड़ा निरपेक्ष निर्देशांक मान लौटाता है — एक मोटा दृश्य स्केल अनुमान के रूप में उपयोगी

Enumerations

from aspose.threed.utilities import BoundingBox, Vector3

# Build a bounding box from a list of points
bb = BoundingBox()
points = [
    Vector3(0.0, 0.0, 0.0),
    Vector3(1.0, 2.0, 3.0),
    Vector3(-1.0, 0.5, 1.5),
]
for p in points:
    bb.merge(p)

print(bb.minimum)   # Vector3(-1.0, 0.0, 0.0)
print(bb.maximum)   # Vector3(1.0, 2.0, 3.0)
print(bb.center)    # Vector3(0.0, 1.0, 1.5)
print(bb.size)      # Vector3(2.0, 2.0, 3.0)

# Point containment
print(bb.contains(Vector3(0.5, 1.0, 1.5)))   # True
print(bb.contains(Vector3(5.0, 0.0, 0.0)))   # False

# Box containment
inner = BoundingBox(Vector3(0, 0, 0), Vector3(0.5, 0.5, 0.5))
print(bb.contains(inner))   # True

# Overlap test
other = BoundingBox(Vector3(0.5, 0.5, 0.5), Vector3(2.0, 2.0, 2.0))
print(bb.overlaps_with(other))   # True

# Retrieve from a node
from aspose.threed import Scene
from aspose.threed.entities import Mesh
from aspose.threed.utilities import Vector4

scene = Scene()
mesh = Mesh()
mesh.control_points.append(Vector4(-1, 0, 0, 1))
mesh.control_points.append(Vector4( 1, 0, 0, 1))
mesh.control_points.append(Vector4( 0, 1, 0, 1))
mesh.create_polygon(0, 1, 2)
node = scene.root_node.create_child_node("tri", mesh)
node_bb = node.get_bounding_box()
print(node_bb.minimum)
print(node_bb.maximum)

संबंधित देखें

 हिन्दी