Files
orx/orx-marching-squares/src/jvmDemo/kotlin/FindContours03.kt
2025-01-24 23:05:40 +01:00

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)
}
}
}