Sound Design Toolkit  078
Physically informed sound synthesis for everyday sounds

Typedefs

typedef struct SDTImpact SDTImpact
 Opaque data structure representing the internal state of an impact interactor.
 
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)