軸は、楽しみと利益のために境界ボックスに並んでいます。
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
新しいAABBを返します。
返品:
x0/y1/z1---x1/y1/z1
depth-> / /|
/ / |
x0/y1/z0 -- x1/y1/z0
| | |
| | <-- height
| | /
| | /
x0/y0/z0 ----- x1/y0/z0
^
|
width
箱を動かします。それ自体を返します。
2つの境界ボックスが交差する(またはまったく触れる)場合にtrueを返します。
2つのAABBの共有エリアを表す新しいaabb
を返します。ボックスが交差しない場合、 null
を返します。
両方のAABBを囲む新しいaabb
を返します。
mit