00001 /*
00002 ** TPSInterp.h
00003 **
00004 ** Made by Daniel Cervantes Cabrera
00005 ** Login <danielcc@huayco>
00006 **
00007 ** Started on Mon Mar 24 18:27:36 2008 Daniel Cervantes Cabrera
00008 ** Last update Sat May 3 19:30:39 2008 Daniel Cervantes Cabrera
00009 */
00010
00011 #ifndef TPSINTERP_H_
00012 # define TPSINTERP_H_
00013
00014 #include <LA/Point2dT.h>
00015 #include <LA/Point3dT.h>
00016 #include <LA/Matrix.h>
00017
00018 #include <RBF/GrammMatrix.h>
00019 #include <RBF/RBF.h>
00020
00021 #include <vector>
00022
00023
00024 namespace RBF{
00025
00026
00031 template<typename T>
00032 class TPSInterp {
00033
00034 public:
00035
00036 RBF::TPS2<T> TPST;
00037
00038 TPSInterp(){};
00039 T operator()( LA::Point2dd );
00040 void build(std::vector< LA::Point3dd > );
00041
00042
00043 private:
00044
00045 void fillMatrixM();
00046 void fillMatrixP();
00047 void fillVectorU();
00048
00049
00050 std::vector<LA::Point3dd> points;
00051 std::vector<T> u;
00052 std::vector<T> lambda;
00053 LA::Matrix<T> M,P;
00054 int N;
00055
00056
00057 };
00058
00059 };
00060
00061 #include "../../src/RBF/TPSInterp.cpp"
00062
00063 #endif /* !TPSINTERP_H_ */
Superior

Tenemos 252 visitantes y ningun miembro en Línea