This program is an implementation of a 2D implicit surface polygonizer. The polygonizer creates a surface boundary from objects defined by implicit field functions. The marching squares algorithm is used to extract the boundary of an isoline. This program supports implicit primitives for circles, lines, and rectangles. Written in Lua and uses the LOVE framework.
The following video shows the program running and the features of the user interface.
The graphical interface allows the user to add, move, and change the size of primitives.
Select the corresponding button to add a point, line, or circle primitive
To add a point, press and release the left mouse button
To add a line or add a rectangle, hold down the left mouse button, drag the mouse, and release.
Enter the Select interface mode to move and change the size of a primitive
To select a primitive, hover over the object with the mouse and press the left mouse button. Alternatively, press the left or right arrow keys to cycle through the primitives.
To remove a primitive, hover over the object with the mouse and press the right mouse button.
To move a primitive, hold down the left mouse button and drag the object to the desired position.
To change the size of a primitive, press the up or down key on the keyboard or scroll the mouse wheel to increase or decrease the size of the object.
Select the Animate interface mode and watch the primitives bounce around the screen.