summaryrefslogtreecommitdiff
path: root/2004/i/nono/src/ovision/space.h
diff options
context:
space:
mode:
Diffstat (limited to '2004/i/nono/src/ovision/space.h')
-rw-r--r--2004/i/nono/src/ovision/space.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/2004/i/nono/src/ovision/space.h b/2004/i/nono/src/ovision/space.h
index c9843e7..52f6e6d 100644
--- a/2004/i/nono/src/ovision/space.h
+++ b/2004/i/nono/src/ovision/space.h
@@ -39,21 +39,22 @@ class Space
int imgWidth;
/// coeff pour l'approximation de la profondeur
- double aY, bY, cY;
+ double coefY[NB_POINTS];
/// coeff pour l'approximation de l'horizontal
- double aX, bX;
+ double coefX[NB_POINTS];
public:
// Constructeur
- Space (int width, int height, OConfig *oconfig);
+ Space (int width, int height);
// Destructeur
~Space ();
/// Position d'un objet dans le referentiel du robot
void GetLoc(int locImgX, int locImgY, int &locX, int &locY);
+ void GetLoc(int locImgX, int locImgY, double &locX, double &locY);
/// Ajoute un point pour l'etalonnage
void AddSetupPoint(int x, int y, int distx, int disty);
@@ -64,15 +65,22 @@ class Space
/// Etalonnage des distances
int Setup();
+ void Setup(double aX, double bX, double cX, double aY, double bY, double cY);
protected:
/// Calcul du determinant
- int Determinant(int matrix[][4]);
+ double Determinant33(double *matrix);
+ double Determinant(double *matrix, int n);
+
+ double CoeffDeterminant (double *matrix, int i, int n);
+
/// Calcul du determinant caracteristique
- int CaracteristicDeterminant(int matrix[][4], int numRow);
+ double CaracteristicDeterminant(double *matrix, double *endMat, int numCol);
/// Donne la position reelle sur la table de la balle
void GetPos(int locX, int locY, int posRobotX, int posRobotY, double angleRobot, int &posX, int &posY);
+
+ int BestFitDoTab(double *mat, double *endMat);
};
#endif // space_h