Horizon
msd.hpp
1 #pragma once
2 
3 namespace horizon {
4 class MSD { // mass spring damper system simulation
5 public:
6  MSD();
7  bool run_to(double time, double ts);
8  bool step(double ts);
9  void reset(double init = 0);
10  double get_s() const;
11  double get_t() const;
12 
13  struct Params {
14  double mass = 0.003; // kg
15  double damping = .21; // kg/s
16  double springyness = .25; // newton/m
17  };
18 
19  Params params;
20 
21  double target = 0; // m
22 private:
23  double a = 0; // m/s²
24  double v = 0; // m/s
25  double s = 0; // m
26  double t = 0; // s
27 };
28 } // namespace horizon
Definition: msd.hpp:4
Definition: msd.hpp:13