Sound Design Toolkit  075
Physically informed sound synthesis for everyday sounds

Typedefs

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

Functions

SDTInteractorSDTImpact_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]fDissipation coefficient, positive scalar
void SDTImpact_setShape ( SDTInteractor x,
double  f 
)

Sets the shape factor.

Parameters
[in]fShape 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]fImpact stiffness (>> 1)