Featured Challenge:
#183 — Mathematical Marbling

All aboard as I attempt to simulate the artistic process of paper marbling. The algorithm is based on the paper 'Mathematical Marbling' by S. Lu, A. Jaffer, X. Jin, H. Zhao, and X. Mao. The code is written in JavaScript using the p5.js library.

may 02, 2024

Mathematical Marbling

Filter by Language

Pick a language to filter

Filter by Topic


It's the Mandelbulb! What happens when you take the original fractal (The Mandelbrot Set) and extend it into 3D space. And how do you visualize it in Processing (Java) as a point cloud?

The Mandelbulb

The artist BeesandBombs makes amazing algorithmic looping GIFs! Here's my attempt to recreate one of my favorite GIFs in JavaScript with p5.js and the WEBGL renderer.

Cube Wave by Bees and Bombs

In this coding challenge, I follow up on the Earthquake Data Visualization challenge and create a 3D version in Processing(Java) using spherical coordinates. I also discuss some 3D vector math including the cross product.

3D Earthquake Data Visualization

In this 4th of July themed coding challenge, I build an HTML5 canvas fireworks simulation from scratch using the p5.js JavaScript library. I also show how to use Processing to create 3D Fireworks.


In this coding challenge, I create a sphere in Processing using spherical coordinates and triangle strips. This is the 3rd part of a multi-part series on superformulas, superellipses and supershapes.

Spherical Geometry

Boing! Using some particles and some springs with the Toxiclibs physics library, I create a 3D cloth simulation in Processing. Toxiclibs can now be downloaded from Processing's library manager.

3D Cloth with Toxiclibs

In this coding challenge, I'm building on top of the Space Colonization video and creating a 3D Fractal Tree, using the same algorithm, in Processing.

3D Fractal Trees

In the second part of this coding challenge, using Processing, I take the code from the 2D Solar System and turn it three-dimensional.

Solar System (3D)

In part 3 of this coding challenge, using Processing, I add textures to the 3D objects created in part 2. The PShape class and createShape() functions are covered.

Solar System (3D) with textures