Interpolation Extension

Any parameter change in a scene description can either be discrete (jump to) or continuous/interpolated (smooth)

Interpolation flag

Interpolating on a parameter of an entity (source/sink/speaker)

/spatdif/interpolate/source/1/position 1

/spatdif/interpolate/source/*/position 0

Setting a target time (duration) or imply interpolation to the next occurrence of the parameter

/spatdif/interpolate/source/1/time 2.5

/spatdif/interpolate/source/1/time -1

Interpolation type

For each interpolation type the formula is provided for increasing a normalized one-dimensional value {{latex($y_n$)}} from 0 to 1 over the normalized time {{latex($t_n$)}} starting at 0 and ending at 1.

Type OSC Example Equation
None /spatdif/interpolate/source/1/type none
Linear /spatdif/interpolate/source/1/type linear {{latex($y_n = t_n$)}}
Cubic /spatdif/interpolate/source/1/type cubic
Quadratic /spatdif/interpolate/source/1/type quadratic
Cosine /spatdif/interpolate/source/1/type cosine {{latex($y_n = 0.5 - 0.5 * cos(\pi t_n)$)}}

Q: tweening/easing?

Q: Should granularity be defined as well?

Q: Interpolation of multidimensional data (e.g. position, directivity) ?

  • see attached example: InterpolationPosition.mov

InterpolationPosition.mov - Different interpolation results (polar vs. cart. coordinates) (126 KB) Nils Peters, 07/03/2010 12:27 am