Challenges

Featured Challenge:
#184 — Elastic Collisions

What happens when two circles collide in a p5.js canvas? In this video, I examine the math and implement idealized elastic collisions in a JavaScript physics simulation. This video supplements the Nature of Code book series in Chapter 6 which uses 3rd party physics libraries to handle collisions rather than a direct implementation.

jul 12, 2024

Elastic Collisions

Filter by Language

JavaScript

Filter by Topic

Pick a topic to filter

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.

Fireworks

In this coding challenge, I show you how to make 2D supershapes in p5.js.

2D Supershapes

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 this third installment of my series on algorithmic botany, I discuss L-systems and how they can be used to generate trees and other fractal patterns in p5.js.

Fractal Trees - L-System

In this coding challenge, I'm using the space colonization algorithm to make a tree generator. This is the 4th part of my algorithmic botany series.

Space Colonization

In this coding challenge, I'll implement fractal trees with recursion in p5.js. This is the first part of a series on algorithmic botany.

Recursive Fractal Trees

More algorithmic botany! Another way to generate a fractal tree is to consider every part of the tree an object, so that we can apply forces and attributes to all the branches and leaves and more!

Object-Oriented Fractal Trees

In this coding challenge, I visualize a Reaction Diffusion simulation using the Gray Scott model in JavaScript (with the p5.js library).

Reaction Diffusion Algorithm

Choo choo! In this multi-part coding challenge, I create a maze generator using a depth-first search algorithm with recursive backtracking. The idea is to walk through a grid of cells, removing walls as we go to build a maze.

Maze Generator

In this coding challenge, I code a p5.js version of the Snake Game.

The Snake Game