Daniel Beckwith

exploring math, science, and art through code

My name is Daniel Beckwith. I work as a software engineer at Tulip Interfaces and I live in Somerville, Massachusetts.

I've always had a passion for creative and exploratory coding. The process of coaxing a computer into executing a procedure that emulates some concept I want to understand deeper is endlessly satisfying to me. This website documents some of the projects I've undertaken.

Followers (2025)

tags: art visual simulation particles chaos

An art project which produces images of swirling chaotic figures based on a simple dynamic simulation.

The positions of many particles are traced over time to produce winding, intersecting trails. The particles move by targeting a particular position and heading for it. The target position is determined using the location of two other randomly chosen particles, or "partners". The target position lies "behind" the first partner on the line connecting the first partner to the second partner. Partners are chosen randomly, so the number of particles and the seed value product different networks of partners, which can produce a large variety of chaotic cyclic interactions. Simulation parameters such as the maximum acceleration of the particles, particle count, and initial particle positions also affect the result. The simulation is run until a set iteration count is reached. Finally the resulting image of the traced particle paths can be downloaded as a PNG or SVG.

This project was a good way for me to test out using Rust in the browser. Rust is my favorite programming language, and the fact that I can use it to build apps like this targeting WASM for the web is amazing. It uses Dioxus to render the UI and the Canvas Web API to render the image.

Graphs (2015)

tags: tool visual math

A tool for creating node-and-edge graphs and exploring their various mathematical properties.

I made this app while taking a course on Graph Theory in school. Coding it helped me understand the different properties of graphs on a deeper level, and being able to quickly modify graphs and see how that affected their properties gave me a better intuitive sense of what those properties were measuring.

Iterated Functions (2015)

tags: visual math chaos

A simple visualization of how various complex-valued functions evolve under iteration (feeding their output back to their input repeatedly).

After learning about how fractals such as the Mandelbrot set are made from iteration of complex-valued functions, I decided I wanted a better way to visualize the path that that iteration actually takes. This app lets you explore the iteration for various interesting complex-valued functions, all of which could be used to render a fractal as well.