#ifndef _FITCIRCLE_H_ #define _FITCIRCLE_H_ #include #include class VectorList { public: int n ; double *x, *y, *z; VectorList(void); double DistFrom1To2(int i, int j) { double dx = x[i] - x[j] , dy = y[i] - y[j] , dz = z[i] - z[j] ; return sqrt(dx*dx + dy*dy +dz*dz) ; } double DistFrom1To2inXYPlane(int i, int j) { double dx = x[i] - x[j] , dy = y[i] - y[j] ; return sqrt(dx*dx + dy*dy) ; } }; const double AICircleFactor = 0.55688 ; class CircleData { double radius ; double center[3]; public: CircleData(double r=0,double x0=0, double y0=0) { radius = r; center[1] = x0; center[2] = y0; } double GetRad(void) { return radius ; } double * GetCtr(void) { return center ; } void CircleData::CalcCircle(double *x, double *y, int n); void CircleData::PrintCurrentCircle(void); void CircleData::PrintCircleAIFormat(void); }; class CurvetoData { public: double x1, y1, x2, y2, x3, y3; void PrintCurvetoData(void) { printf("%10.4f %10.4f %10.4f %10.4f %10.4f %10.4f c\n", x1,y1,x2,y2,x3,y3); } } ; #endif