Die Achse stimmte Begrenzungsboxen zum Spaß und Gewinn aus.
var aabb = require ( 'aabb-3d' )
var bounding_box = aabb ( [ 0 , 0 , 0 ] , [ 12 , 12 , 12 ] ) // x, y, z == 0; width, height, depth == 12
, other = aabb ( [ 10 , 10 , 10 ] , [ 2 , 2 , 2 ] )
bounding_box . intersects ( other ) // true
bounding_box . translate ( [ 2 , 2 , 2 ] ) // moves the bounding box
bounding_box . expand ( other ) // returns a new aabb that surrounds both bboxes
Gibt einen neuen AABB zurück.
Rückgaben:
x0/y1/z1---x1/y1/z1
depth-> / /|
/ / |
x0/y1/z0 -- x1/y1/z0
| | |
| | <-- height
| | /
| | /
x0/y0/z0 ----- x1/y0/z0
^
|
width
bewegt die Schachtel. Gibt selbst zurück.
Gibt true zurück, wenn sich die beiden Begrenzungsboxen schneiden (oder überhaupt berühren).
Gibt einen neuen aabb
zurück, der den gemeinsam genutzten Bereich der beiden AABB darstellt. Gibt null
zurück, wenn sich die Kisten nicht kreuzen.
Gibt ein neues aabb
zurück, das beide Aabbs umgibt.
MIT