Fawkes API
Fawkes Development Version
|
Sinusoidal value interpolator. More...
#include <>>
Public Member Functions | |
virtual float | interpolate (float t_current, float t_end, float t_step, float v_start, float v_end) |
Interpolate a point at a specific time. |
Sinusoidal value interpolator.
The interpolator creates intermediate points given a starting and and end point and time constraints. Times are supplied in a discrete unit like miliseconds or microseconds. The values are interpolated on a sinusoidal curve with a slow start, the greatest slope in the middle and then a slow down in the end. This interpolation is useful for example for smooth servo movements.
The calculation is executed with the following equation:
float fawkes::SinusoidalInterpolator::interpolate | ( | float | t_current, |
float | t_end, | ||
float | t_step, | ||
float | v_start, | ||
float | v_end | ||
) | [virtual] |
Interpolate a point at a specific time.
t_current | current time for which to calculate the intermediate point |
t_end | end time/total time. The start time is always 0. |
t_step | Time of a time slice for discrete intermediate interpolation points. Set to 1 for maximum resolution. |
v_start | start value |
v_end | end value |
Implements fawkes::Interpolator.
Definition at line 55 of file sinusoidal.cpp.