import org.openrndr.application import org.openrndr.extra.fcurve.MultiFCurve import org.openrndr.extra.fcurve.fcurve import org.openrndr.extra.fcurve.vector2 fun main() = application { configure { width = 720 height = 720 } program { class XYAnimation : MultiFCurve( mapOf( "x" to fcurve("M0 Q4,360,5,720"), "y" to fcurve("M360 h5") ) ) { val position = vector2("x", "y") } val xyAnimation = XYAnimation() val position = xyAnimation.position.sampler() extend { drawer.circle(position(seconds.mod(5.0)), 100.0) } } }