| 
    CGAL 4.7 - 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 | ||
| ) | 
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 \( \neq0\).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>