hmi.elckerlyc.util.timemanipulator
Class SigmoidManipulator

java.lang.Object
  extended by hmi.elckerlyc.util.timemanipulator.SigmoidManipulator
All Implemented Interfaces:
TimeManipulator

public class SigmoidManipulator
extends Object
implements TimeManipulator

Provides slow-fast-slow interpolation (=a bubble-shaped velocity profile) manip(t)=0.5 . (1+tanh(a.x^p) - 0.5 a determines the steepness p determines the lenght of the accelatory phase plausible values: a=3,p=4

Author:
welberge

Field Summary
private  double a
           
private  double p
           
 
Constructor Summary
SigmoidManipulator(double steepness, double acclength)
          Constructor
 
Method Summary
 double manip(double t)
          manipulates t
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

a

private double a

p

private double p
Constructor Detail

SigmoidManipulator

public SigmoidManipulator(double steepness,
                          double acclength)
Constructor

Parameters:
steepness -
acclength - length of the accelatory phase
Method Detail

manip

public double manip(double t)
manipulates t

Specified by:
manip in interface TimeManipulator
Parameters:
t - the time to be manipulated
Returns:
manip(t)=0.5 . (1+tanh(a.x^p) - 0.5