![](/media/cache/profiles/IMG_1090_WnJdiet.JPG.50x50_q85.jpg)
d
sshape.cpp
- Committer:
- me33004m
- Date:
- 21 months ago
- Revision:
- 0:ee4e3ab4db45
File content as of revision 0:ee4e3ab4db45:
#include "sshape.h" shape::shape(double time){ time_c = time; } int shape::pm(double num){ return (num>0)-(num<0); } double shape::start(){ start_m = clock(); return start_m; } double shape::shapeTime(double starttime){ return ((double)(clock() - starttime) / 100); } double shape::compute(double stickpoints,double starttime,double add){ shapeS_m = kasokudo(time_c,starttime,stickpoints,add); if(pm(stickpoints - add_m)*shapeS_m <= pm(stickpoints - add)*stickpoints){ shapeS_m = kasokudo(time_c,starttime,stickpoints,add); }else{ add_m = stickpoints; return add_m; } return shapeS_m; } double shape::kasokudo(double time_s,double start_s,double points_s,double add_s){ if(points_s != 0){ if(points_s>add_s){ tmp = ((double)(clock() - start_s) / 100)/time_s; shapeSpeed = tmp*tmp*pm(points_s)*fabs(points_s-add_s)*pm(points_s)+add_s; }else{ tmp = ((double)(clock() - start_s) / 100)/time_s; shapeSpeed = tmp*tmp*pm(points_s)*-fabs(points_s-add_s)*pm(points_s)+add_s; } }else{ if(points_s>add_s){ tmp = ((double)(clock() - start_s) / 100)/time_s; shapeSpeed = tmp*tmp*-add_s + add_s; }else{ tmp = ((double)(clock() - start_s) / 100)/time_s; shapeSpeed = -tmp*tmp*add_s + add_s; } } return shapeSpeed; }