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.