Описывается версия Geometry 1.02. Основные геометрические функции.
Изменения (1.02):
- добавлена аппроксимация методом наименьших квадратов Approximation;
- исправлена функция RToLine.
Структура F_LINE
struct F_LINE {          int k1;          int b;          double b1,b2; }; |
struct C_POINT {          int x,y; }; struct C_POINTd {          double x,y; }; |
struct FOUR_FIG_P {          C_POINT p[4]; }; struct FOUR_FIG_Pd {          C_POINTd p[4]; }; |
struct FOUR_FIG_L {          F_LINE l[4]; }; |
F_LINE MakeLine(double x1,double y1,double x2,double y2); F_LINE MakeLine(C_POINT p1,C_POINT p2); F_LINE MakeLine(C_POINTd p1,C_POINTd p2); |
F_LINE MakeLineFromPolar(C_POINTd p1,double f);
|
C_POINTd FindPointContinue(C_POINTd p1,C_POINTd p2,F_LINE line,double size); C_POINTd FindPointContinue_(C_POINTd p1,C_POINTd p2,F_LINE line,double size); |
int Intersection(F_LINE f1,F_LINE f2,double &x,double &y);
|
double LengthLine(double x1,double y1,double x2,double y2);
|
float MakePolarR(float x,float y); float MakePolarF(float x,float y); |
bool DirectPoint(C_POINT*p,int all,unsigned char flags);
|
C_POINTd PointID(C_POINT p); C_POINT PointDI(C_POINTd p); |
double RToLine(F_LINE f,double x,double y); double RToLine(F_LINE f,C_POINTd p); |
C_POINTd Average(C_POINTd p1,C_POINTd p2);
|
F_LINE MakeParallelLine(F_LINE line,C_POINTd point);
|
double FoundInclination(F_LINE line,F_LINE line1);
|
F_LINE TurnLine(F_LINE f,double alfa,C_POINTd point);
|
F_LINE Approximation(int *array,int all_elem);
|