Kinetic minimum box

Kinetic minimum box is a kinetic data structure to maintain the minimum bounding box of a set of points whose positions change continuously with time.

For points moving in a plane, the kinetic convex hull data structure can be used as a basis for a responsive, compact and efficient kinetic minimum box data structure.

In the dual view where a point (a, b) maps to a line y=ax+b, four envelopes (left, right, upper, lower) are computed.

Thus, an interval where the x-values of the four envelopes lists overlap (which can be obtained by merging the lists) corresponds, in the primal view, to a slope range where all lines parallel and perpendicular to the slopes support the same four convex hull vertices.

The minimum box (in terms of area or perimeter) can be easily computed for each slope range and the four vertices thus supported, and then the global minimum box can be found by minimizing over these intervals.