CGAL 5.5.2  2D and 3D Linear Geometry Kernel

Operations  
Kernel::Line_2  operator() (const Kernel::Point_2 &p, const Kernel::Point_2 &q) 
constructs the bisector of p and q . More...  
Kernel::Line_2  operator() (const Kernel::Line_2 &l1, const Kernel::Line_2 &l2) 
constructs the bisector of the two lines l1 and l2 . More...  
Kernel::Line_2 Kernel::ConstructBisector_2::operator()  (  const Kernel::Point_2 &  p, 
const Kernel::Point_2 &  q  
) 
constructs the bisector of p
and q
.
The bisector is oriented in such a way that p
lies on its positive side.
p
and q
are not equal. Kernel::Line_2 Kernel::ConstructBisector_2::operator()  (  const Kernel::Line_2 &  l1, 
const Kernel::Line_2 &  l2  
) 
constructs the bisector of the two lines l1
and l2
.
In the general case, the bisector has the direction of the vector which is the sum of the normalized directions of the two lines, and which passes through the intersection of l1
and l2
. If l1
and l2
are parallel, then the bisector is defined as the line which has the same direction as l1
, and which is at the same distance from l1
and l2
.