16   tfloat alpha12 = alpha2 - alpha1 ;
    17   if( alpha1 > alpha2 ) alpha12 += TWOPI ;
    19   tfloat alpha31 = alpha1 - alpha3 ;
    20   if( alpha3 > alpha1 ) alpha31 += TWOPI ;
    22   tfloat L12 = sqrt( (x2-x1)*(x2-x1) + (y2-y1)*(y2-y1) ) ;
    23   tfloat L31 = sqrt( (x3-x1)*(x3-x1) + (y3-y1)*(y3-y1) ) ;
    25   tfloat phi = atan2( (y1-y2) , (x1-x2) ) ; 
    26   tfloat sigma = atan2( (x1-x3) , (y1-y3) ) + HALFPI + phi ; 
    28   tfloat gamma = sigma - alpha31 ;
    30   tfloat sin_alpha12 = Sin( alpha12 ) ;
    31   tfloat sin_alpha31 = Sin( alpha31 ) ;
    33   tfloat tau = atan( (sin_alpha12*(L12*sin_alpha31 - L31*Sin(gamma))) / (L31*sin_alpha12*Cos(gamma) - L12*Cos(alpha12)*sin_alpha31) ) ;
    35   if( (alpha12 < 
PI) && (tau < 0.0) ) tau += 
PI ;
    36   if( (alpha12 > 
PI) && (tau > 0.0) ) tau -= 
PI ;
    39     if( ( (sigma > 0.0) && (alpha31 > 
PI) ) || ( (sigma < 0.0) && (alpha31 < 
PI) ) ) tau = 
PI ;
    42   if( fabs( sin_alpha12 ) > fabs( sin_alpha31 ) )
    43     L1 = ( L12 * Sin( tau + alpha12 ) ) / sin_alpha12 ;
    45     L1 = ( L31 * Sin( tau + sigma - alpha31 ) ) / sin_alpha31 ;
    47   *x = x1 - L1 * Cos( phi + tau ) ;
    48   *y = y1 - L1 * Sin( phi + tau ) ;
 
#define PI
The value of PI. 
 
double tfloat
Defines the type for float/double.