## motris.model Interface DynamicModel

All Known Implementing Classes:
CarDynamicModelPece, RigidDynamicModel

public interface DynamicModel

Interface for Dynamical Models which describe

1. the transformation between the local coordinate systems of different actor parts (for instance body parts)
2. the 1st and 2nd derivative of these transformations with respect to all degrees of freedom (free parameters)

Author:
dahlkamp, preuter

 Method Summary ` void` ```advanceTimeStep(double deltaT, JSci.maths.DoubleSquareMatrix F)```           Predict state for next time t+deltaT ` void` ```calculateDerivations(JSci.maths.DoubleSquareMatrix[] tensorinput, JSci.maths.DoubleSquareMatrix[] gradientinput, JSci.maths.DoubleSquareMatrix toGlobalinput, State state)```           Precompute internal derivation matrices. ` int[]` `getDOF()`           Return degrees of freedom. ` JSci.maths.DoubleSquareMatrix[]` `getLocalToParent(int derivativeNumber)` ` JSci.maths.DoubleSquareMatrix` `getToGlobal()` ` void` `markDirty()`           Mark internally computed matrices as dirty so that they are recomputed on next call of getLocalToParent() Note: replaces update() in DerivableMatrix

 Method Detail

### getLocalToParent

`public JSci.maths.DoubleSquareMatrix[] getLocalToParent(int derivativeNumber)`
Parameters:
`derivativeNumber` - n
Returns:
nth derivative of the transformation from this RigidModel to the parent model

### getToGlobal

`public JSci.maths.DoubleSquareMatrix getToGlobal()`
Returns:
transformation from local to global coordinate system

### getDOF

`public int[] getDOF()`
Return degrees of freedom.

```public void advanceTimeStep(double deltaT,
JSci.maths.DoubleSquareMatrix F)```
Predict state for next time t+deltaT

Parameters:
`deltaT` - time difference [s]
`F` - first derivative of prediction function

### markDirty

`public void markDirty()`
Mark internally computed matrices as dirty so that they are recomputed on next call of getLocalToParent() Note: replaces update() in DerivableMatrix

### calculateDerivations

```public void calculateDerivations(JSci.maths.DoubleSquareMatrix[] tensorinput,
`tensorinput` - functions as in and output for the second derivation times dState /dt
`gradientinput` - functions as in and output for the first derivation
`toGlobalinput` - concatenation of all local-to-parent matrices up to the global coordinate system
`state` -