CGAL 5.6  2D and 3D Linear Geometry Kernel

Functions  
template<RingNumberType >  
void  CGAL::rational_rotation_approximation (const RingNumberType &dirx, const RingNumberType &diry, RingNumberType &sin_num, RingNumberType &cos_num, RingNumberType &denom, const RingNumberType &eps_num, const RingNumberType &eps_den) 
computes integers sin_num , cos_num and denom , such that sin_num /denom approximates the sine of direction \( (\)dirx ,diry \( )\). More...  
void CGAL::rational_rotation_approximation  (  const RingNumberType &  dirx, 
const RingNumberType &  diry,  
RingNumberType &  sin_num,  
RingNumberType &  cos_num,  
RingNumberType &  denom,  
const RingNumberType &  eps_num,  
const RingNumberType &  eps_den  
) 
#include <CGAL/rational_rotation.h>
computes integers sin_num
, cos_num
and denom
, such that sin_num
/denom
approximates the sine of direction \( (\)dirx
,diry
\( )\).
The difference between the sine and the approximating rational is bounded by eps_num
/eps_den
.
eps_num != 0
.Implementation
The approximation is based on Farey sequences as described in the rational rotation method presented by Canny and Ressler at the 8th SoCG 1992. We use a slower version which needs no division operation in the approximation.
CGAL::Aff_transformation_2<Kernel>