This demo illustrates how the intersection of half-spaces reduces to the 
convex hull problem via point-line duality. \\
 
Duality associates a point with every non-vertical line. 
For a non-vertical line l: y = a*x - b, the dual point has coordinates (a,b).
Conversely, the line dual to the point (a,b) has equation y = a*x - b. \\
  
Duality preserves aboveness, i.e., if a point p(x,y) is 
above a line l(y = a*x - b), then the line dual to p is above the point
dual to l.\\
   
In the demo the green arrows indicate the mapping from lines to their 
dual points. \\
  
Let L be a collection of non-vertical lines. We want to construct the 
intersection I of the half-space bounded from below by the lines in L. \\
   
Observe: a line l in L contributes to the boundary of I iff there is a
point p such that\\
(1) p lies on l and
(2) p lies above every line l' in L different from l.
\\  
Let us go to the dual: dual(p) is a line and every line in L translates 
to a point. We have\\
(1) dual(l) lies on dual(p)
(2) dual(p) lies above every point dual(l') for l' different from l
In other words, dual(l) is a vertex of the upper convex hull of the 
set of dual points. 
\\  
In the demo the convex hull of the dual points is indicated in blue
and the boundary of I is indicated in red color. 
