Horizon
Loading...
Searching...
No Matches
msd.hpp
1#pragma once
2
3namespace horizon {
4class MSD { // mass spring damper system simulation
5public:
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
22private:
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