2025-06-27 00:32:57 +08:00
|
|
|
|
#ifndef ELLIPSOID_H__
|
|
|
|
|
|
#define ELLIPSOID_H__
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#define MATRIX_SIZE 6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
typedef struct
|
|
|
|
|
|
{
|
2025-07-05 19:47:28 +08:00
|
|
|
|
int num; //<2F><><EFBFBD><EFBFBD>ʹ<EFBFBD>õĵ<C3B5><C4B5><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float avr[MATRIX_SIZE][MATRIX_SIZE+1]; //ƽ<><C6BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
|
float sum[MATRIX_SIZE][MATRIX_SIZE+1]; //<2F>;<EFBFBD><CDBE><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
float a; //x<><78><EFBFBD>뾶
|
|
|
|
|
|
float b; //y<><79><EFBFBD>뾶
|
|
|
|
|
|
float c; //z<><7A><EFBFBD>뾶
|
|
|
|
|
|
float x; //xƫ<78><C6AB>
|
|
|
|
|
|
float y; //yƫ<79><C6AB>
|
|
|
|
|
|
float z; //zƫ<7A><C6AB>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
}ellipsoid_struct;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void ellipsoid_reset(ellipsoid_struct *ell);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><><EFBFBD>ӵ<EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void ellipsoid_add_point(ellipsoid_struct *ell,float x,float y,float z);
|
|
|
|
|
|
|
2025-07-05 19:47:28 +08:00
|
|
|
|
//<2F><>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD>
|
2025-06-27 00:32:57 +08:00
|
|
|
|
void ellipsoid_fitting(ellipsoid_struct *ell);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
|
|
|