Skip to content

Files

Latest commit

6449330 · Aug 27, 2025

History

History

orx-marching-squares

README.md

orx-marching-squares

Tools for extracting contours from functions

How to use it?

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)

Demos

FindContours01

FindContours01Kt

source code

FindContours02

FindContours02Kt

source code

FindContours03

FindContours03Kt

source code

FindContours04

FindContours04Kt

source code