38 #ifndef VIGRA_PROJECT2ELLIPSE_HXX
39 #define VIGRA_PROJECT2ELLIPSE_HXX
48 inline void projectEllipse2D_FirstQuad (
double &vx,
double &vy,
double a,
double b,
const double eps,
const int iter_max){
50 double t=0,tmin,tmax,d1,d2,f,x1,y1,l;
52 tmax=std::max(2*a*vx,2*b*vy);
58 for (i=0;i<iter_max;i++){
87 inline void projectEllipse2D(
double &vx,
double &vy,
const double _a,
const double _b,
const double eps,
const int max_iter){
93 if (((vx/a)*(vx/a)+(vy/b)*(vy/b))<=1){
99 double l =
sqrt(vx*vx+vy*vy);
146 projectEllipse2D_FirstQuad(vx,vy,a,b,eps,max_iter);
151 vx = a*a*vx/(a*a-b*b);
152 vy = vy*
sqrt(fabs(1.0-vx_temp/a*vx_temp/a));
177 #endif // VIGRA_PROJECT2ELLIPSE_HXX
SquareRootTraits< FixedPoint< IntBits, FracBits > >::SquareRootResult sqrt(FixedPoint< IntBits, FracBits > v)
square root.
Definition: fixedpoint.hxx:616