29 lines
841 B
Kotlin
29 lines
841 B
Kotlin
import org.openrndr.application
|
|
import org.openrndr.color.ColorRGBa
|
|
import org.openrndr.extra.marchingsquares.findContours
|
|
import org.openrndr.math.Vector2
|
|
import kotlin.math.PI
|
|
import kotlin.math.cos
|
|
import kotlin.math.sin
|
|
|
|
fun main() = application {
|
|
configure {
|
|
width = 720
|
|
height = 720
|
|
}
|
|
program {
|
|
extend {
|
|
drawer.clear(ColorRGBa.BLACK)
|
|
drawer.stroke = ColorRGBa.PINK
|
|
drawer.fill = null
|
|
fun f(v: Vector2): Double {
|
|
val p = v + Vector2(cos(v.y * 0.1 + seconds) * 40.0, sin(v.x * 0.1 + seconds) * 40.0)
|
|
return cos((p.distanceTo(drawer.bounds.center) / 720.0) * 12 * PI)
|
|
}
|
|
|
|
val contours = findContours(::f, drawer.bounds.offsetEdges(-2.0), 4.0)
|
|
drawer.contours(contours)
|
|
}
|
|
}
|
|
}
|