足回り動かすためのライブラリ
Embed:
(wiki syntax)
Show/hide line numbers
NK_tuner.cpp
00001 #include "NK_tuner.hpp" 00002 00003 Nk_tuner::Nk_tuner(double dt,double finish):dt(dt),finish(finish){} 00004 Nk_tuner::~Nk_tuner(){} 00005 double Nk_tuner::getK(double Value){ 00006 n++; 00007 K = (K*(n-1) + Value)/n; 00008 return K; 00009 } 00010 void Nk_tuner::Update(double Value){ 00011 static double mt = 0.0,mtt = 0.0,mtv = 0.0; 00012 static double old,timer; 00013 double tilt; 00014 timer += dt; 00015 tilt = (Value - old) / dt; 00016 if(mt < tilt) { 00017 mt = tilt; 00018 mtt = timer; 00019 mtv = Value; 00020 } 00021 if(Value <= 0.632*K) T = timer; 00022 old = Value; 00023 if(timer >= finish){ 00024 L = mtt-(mtv/mt); 00025 T = T - L; 00026 old = 0.0; 00027 mt = 0.0; 00028 mtt = 0.0; 00029 mtv = 0.0; 00030 } 00031 }
Generated on Thu Jul 14 2022 14:37:03 by 1.7.2