📄 fitting.h
字号:
/*
*fitting.h
*/
#ifndef _FITTING_H
#define _FITTING_H
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <math.h>
typedef struct{
int rows;
int cols;
double **data;
}matrix_t;
struct circle_2dim_result{
double centre_x;
double centre_y;
double radius;
double eps;
};
struct circle_3dim_result{
double centre_x;
double centre_y;
double centre_z;
double radius;
double eps;
};
struct sphere_result{
double centre_x;
double centre_y;
double centre_z;
double radius;
double eps;
};
struct cone_result{
double vertex_x;
double vertex_y;
double vertex_z;
double eps;
};
struct cylinder_result{
double radius;
double eps;
};
struct result{
int type;
union{
struct circle_2dim_result circle_2dim_res;
struct circle_3dim_result circle_3dim_res;
struct sphere_result sphere_res;
struct cone_result cone_res;
struct cylinder_result cylinder_res;
}u;
};
#define TYPE_2D_CIRCLE 1
#define TYPE_3D_CIRCLE 2
#define TYPE_SPHERE 3
#define TYPE_CONE 4
#define TYPE_CYLINDER 5
struct data_set{
int count;
double *x;
double *y;
double *z;
};
struct fitting_target{
int type; //geometry graphic type
struct data_set data;
struct result result;
};
#define INIT_FACTOR_VALUE 0.01
#define INCREMENT_FACTOR 2.0
#define DECREMENT_FACTOR 0.4
#define ITERATION_LIMIT 100
#define MIN_NUM 0.000001
#define MAX_GUESS_COUNT 20
#define CONVERGE_VALUE 0.0001
#define STEP_SEARCH 2 //for sphere
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -