From 9cbd9e554f9956b3b945b51602f1d4a3fa0353e1 Mon Sep 17 00:00:00 2001 From: LYW <leeyeanwoo@diteam.co.kr> Date: 목, 08 7월 2021 17:24:24 +0900 Subject: [PATCH] Ongoing60 #3486 CF AOI Review Review History 프로그램 테스트 및 적용 --- ReviewHistory/include/akSTL/새 폴더/akInterpolation.h | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 48 insertions(+), 0 deletions(-) diff --git "a/ReviewHistory/include/akSTL/\354\203\210 \355\217\264\353\215\224/akInterpolation.h" "b/ReviewHistory/include/akSTL/\354\203\210 \355\217\264\353\215\224/akInterpolation.h" new file mode 100644 index 0000000..57f4d4f --- /dev/null +++ "b/ReviewHistory/include/akSTL/\354\203\210 \355\217\264\353\215\224/akInterpolation.h" @@ -0,0 +1,48 @@ +#pragma once + + +#include "akLinker.h" +#include <vector> + +namespace akSTL +{ + class akSTL_DLLSPEC CakInterpolation + { + public: + struct _Data + { + _Data() + { + x = y = 0; + } + double x; + double y; + }; + + public: + CakInterpolation(); + ~CakInterpolation(); + + //폴리노미얼 데이터 생성(rate:데이터 간격) + void CaculationPolinomial(double min, double max, double rate); + //큐빅스플라인 데이터 생성(rate:점과 점사이의 데이터 갯수) + void CaculationCubicSpline(double rate); + //Linear(rate:점과 점사이의 데이터 갯수) + void CaculationLinear(int step); + + void AddPoint(double x, double y); + inline void ClearPoint(){m_vecInterPoint.clear();}; + + inline _Data GetData(int index); + inline int GetDataNum(){return (int)m_vecInterPoint.size();}; + + + + + protected: + std::vector<_Data> m_vecOrgPoint; + std::vector<_Data> m_vecInterPoint; + private: + void solveTridiag(double* khb, double* diag, double* khp, double* b, int n) ; + }; +} \ No newline at end of file -- Gitblit v1.9.3