Sphere Fitting program

Dependents:   NineIMUAttitude_MadgwickFilter

Committer:
aktk
Date:
Sat Dec 26 14:20:24 2020 +0000
Revision:
1:05e1d9336ca8
Parent:
0:bdae9d79b923
Add Comment;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aktk 0:bdae9d79b923 1 #ifndef SPHEREFITTING_H
aktk 0:bdae9d79b923 2 #define SPHEREFITTING_H
aktk 0:bdae9d79b923 3
aktk 0:bdae9d79b923 4 #include <stdio.h>
aktk 0:bdae9d79b923 5 #include <math.h>
aktk 0:bdae9d79b923 6 #include <time.h>
aktk 0:bdae9d79b923 7 #include <stdlib.h>
aktk 0:bdae9d79b923 8
aktk 0:bdae9d79b923 9 template<typename T>
aktk 0:bdae9d79b923 10 struct Sphere {
aktk 0:bdae9d79b923 11 public:
aktk 0:bdae9d79b923 12 Sphere(T cx = 0, T cy = 0, T cz = 0);
aktk 0:bdae9d79b923 13 T cx, cy, cz, r;
aktk 0:bdae9d79b923 14 };
aktk 0:bdae9d79b923 15
aktk 0:bdae9d79b923 16
aktk 0:bdae9d79b923 17 template<typename T>
aktk 0:bdae9d79b923 18 class SphereFitting
aktk 0:bdae9d79b923 19 {
aktk 0:bdae9d79b923 20 public:
aktk 0:bdae9d79b923 21 SphereFitting(T cx = 0, T cy = 0, T cz = 0);
aktk 0:bdae9d79b923 22 ~SphereFitting();
aktk 0:bdae9d79b923 23 void solve();
aktk 0:bdae9d79b923 24 void addsample(T, T, T);
aktk 0:bdae9d79b923 25 void copy_param_to(T*, T*, T*, T*);
aktk 0:bdae9d79b923 26 private:
aktk 0:bdae9d79b923 27 Sphere<T>* P;
aktk 0:bdae9d79b923 28 T X[4][4];
aktk 0:bdae9d79b923 29 T Y[4];
aktk 0:bdae9d79b923 30 };
aktk 0:bdae9d79b923 31 template class SphereFitting<short>;
aktk 0:bdae9d79b923 32 template class SphereFitting<int>;
aktk 0:bdae9d79b923 33 template class SphereFitting<float>;
aktk 0:bdae9d79b923 34 #endif