Sound Design Toolkit 075 Physically informed sound synthesis for everyday sounds

- Main Page
- Modules
- Data Structures
- Files

Typedefs | Functions
Impact
SDTInteractors.h: interactions between solids

## Typedefs
typedef struct SDTImpact | SDTImpact
| Opaque data structure representing the internal state of an impact interactor.

## Functions
SDTInteractor * | SDTImpact_new ()
| Object constructor. More...
void | SDTImpact_free (SDTInteractor *x)
| Object destructor. param[in] Pointer to a SDTInteractor instance, configured for the impact case.
void | SDTImpact_setStiffness (SDTInteractor *x, double f)
| Sets the impact stiffness. More...
void | SDTImpact_setDissipation (SDTInteractor *x, double f)
| Sets the dissipation coefficient. More...
void | SDTImpact_setShape (SDTInteractor *x, double f)
| Sets the shape factor. More...

## Detailed Description

Simulates a non-linear impact, computing impact force from the total compression, namely the relative displacement between the two contact points. The algorithm is based on the Hunt-Crossley impact model, with the resulting force being the sum of an elastic component and a dissipative term.

The elastic component is parameterized by the force stiffness (or elasticity) and a non-linear exponent which models the local geometry around the contact area. The linear dissipative component is parameterized by a dissipation (damping) weight.

## Function Documentation

SDTInteractor* SDTImpact_new | ( |  | ) |

Object constructor.

Returns
  Pointer to a SDTInteractor instance, configured for the impact case

void SDTImpact_setDissipation | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the dissipation coefficient.

Parameters

  [in] | f | Dissipation coefficient, positive scalar

void SDTImpact_setShape | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the shape factor.

Parameters

  [in] | f | Shape factor. Must be > 1, with 1.5 = spherical shape. Optimal range [1,4]

void SDTImpact_setStiffness | ( | SDTInteractor * | x,
|  | double | f
| ) |  |

Sets the impact stiffness.

Parameters

  [in] | f | Impact stiffness (>> 1)