17   tfloat d12 = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) ;
    18   tfloat d23 = sqrt( (x3-x2)*(x3-x2) + (y3-y2)*(y3-y2) ) ;
    20   tfloat lambda12 = alpha2 - alpha1 ;
    21   tfloat lambda23 = alpha3 - alpha2 ;
    23     tfloat mu = Sin( lambda12 ) / d12 ;
    24     tfloat eta = Sin( lambda23 ) / d23 ;
    26     tfloat phi = atan2( (y1-y2) , (x1-x2) ) ;
    28     tfloat beta = phi - atan2( (y3-y2) , (x3-x2) ) ;
    30     tfloat r2 = fabs( Sin( beta + lambda12 + lambda23 ) ) / sqrt( mu*mu + eta*eta + 2*mu*eta*Cos( beta + lambda12 + lambda23 ) ) ;
    32     tfloat theta12 = asin( mu*r2 ) ;
    34     tfloat beta12 = 
PI - lambda12 - theta12 ;
    36   *x = x2 + r2 * Cos( phi - beta12 ) ;
    37   *y = y2 + r2 * Sin( phi - beta12 ) ;
 
#define PI
The value of PI. 
 
double tfloat
Defines the type for float/double.