;; Ripple effect - radial wave distortion from center ;; @param frequency float [1, 20] default 5 ;; @param amplitude float [0, 50] default 10 ;; @param center_x float [0, 1] default 0.5 ;; @param center_y float [0, 1] default 0.5 ;; @param decay float [0, 5] default 1 ;; @param speed float [0, 10] default 1 (define-effect ripple ((frequency 5) (amplitude 10) (center_x 0.5) (center_y 0.5) (decay 1) (speed 1)) (let* ((w (width frame)) (h (height frame)) (cx (* w center_x)) (cy (* h center_y)) (phase (* (or _time 0) speed 2 pi)) (coords (ripple-displace w h frequency amplitude cx cy decay phase))) (remap frame (coords-x coords) (coords-y coords))))