Tools for extracting contours from functions
orx-marching-squares
provides the findContours()
function
fun f(v: Vector2) = v.distanceTo(drawer.bounds.center) - 200.0
val contours = findContours(::f, drawer.bounds, 16.0)
drawer.contours(contours)
With a small adjustment to the given function one can use findContours
to find iso contours. The trick is to add a cosine over the distance function.
fun f(v: Vector2) = cos((v.distanceTo(drawer.bounds.center) / 100.0) * 2 * PI)
val contours = findContours(::f, drawer.bounds.offsetEdges(32.0), 16.0)
drawer.contours(contours)