Why do we have to partition non-convex polygons into convex polygons in a map in Binary Space Partitioning? This article says that binary space partitioning divides the map into convex polygons.


  [...]
  Before the map can be rendered we must perform a number of
  calculations on it. However, once these calculations are performed
  their results can be used many times. This is one of the advantages of
  BSP — once the calculations are performed they do not need to be done
  again, unless the map is changed. BSP only allows ”static” maps, or
  ones that do not move. If a map has any moving parts then they must be
  rendered separately.
  
  What must be done is to partition, or divide up, the map into convex
  polygons.


Why should non-convex polygons be partitioned into convex polygons? Is there a mathematical basis behind this?
Because with 2 non-overlapping convex polygons you can always say that 1 polygon is closer to a point than another.

If they are not convex then for example with a U surrounding a circle. You cannot say easily which should be drawn first.