Skip to content

Latest commit

 

History

History
42 lines (29 loc) · 1.43 KB

README.md

File metadata and controls

42 lines (29 loc) · 1.43 KB

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

source code

FindContours01Kt

FindContours02

source code

FindContours02Kt

FindContours03

source code

FindContours03Kt

FindContours04

source code

FindContours04Kt