question: public void update ( ) { if ( amplitude > 0 ) { long elapsed = System . currentTimeMillis ( ) - timestamp ; double delta = amplitude * Math . exp ( - elapsed / timeConstant ) ; if ( Math . abs ( delta ) > 0.5 ) { viewpointNode . drag ( lastDx * delta , lastDy * delta ) ; } else { amplitude = 0 ; updateLookAt ( ) ; } } }
target:  Update the kinetic scrolling