I started these interactive essays to explore and prototype the design for a drawing library ('like Processing but with nice APIs'(!)). However my thinking on this has evolved. The main avenue I'm exploring is not replacing Processing itself but in how it is used. Inspired by Tyler Hobbs I initially looked at Quil (a small Clojure wrapper for JVM Processing), however I find Clojure's lack of types, generally awful errors and inconsistent approaches (who knows where the 'data' argument to things like reduce will appear) to be extremely frustrating.

I'm currently working with Kotlin, which allows very natural use of JVM Processing, but with modern language features. In particular it allows for the very easy/natural 'fascading' of verbose or awkward APIs and easy extensibility of 3rd party code in ways that are useful in general or to specific projects.

Here are some essays on aspects of computer drawing theory and practice. Often they include dynamic/interactive demos.

Theory

1. Bézier Curves

Drawing curves with code. An interactive introduction to Bézier Curves and a difference, more algorithm-friendly way to describe them.

2. Arcs

Drawing slices of pie (charts).

Practice

Leveraging Kotlin with Processing.

A. Kotlin First Steps

Some suggestions on how to use Kotlin for Processing.