Notice that this is essentially equivalent to running a splitting hyperplane through one of the points.
In that sense, a kd-tree is a special case of a BSP tree with a special rule that determines which splitting
hyperplanes to use. However, we've done so without needing to write any code that manipulates
hyperplanes or half-spaces. All of the complex geometry is taken care of implicitly.
Let's continue building this kd-tree. We recursively build a kd-tree in the right half-space (the
points to the right of the central node) by picking the some point and splitting the data horizontally
through it, as seen here