← Projects
2022 / 06 / 30 PythonFourier AnalysisSignal Processing

2D Fourier Transform Drawing Machine


Motivation

While browsing 3Blue1Brown — a math YouTube channel I follow closely — I came across a video explaining how to approximate any arbitrary path using the Fourier Transform on the complex plane. The idea of decomposing a shape into a sum of rotating circles was immediately compelling. My goal for the AE280 final project was to reproduce this from scratch in Python.

But what is a Fourier series? — 3Blue1Brown
youtube.com/watch?v=r6sGWTCMz2k

How It Works

Rather than taking vector paths as input, the implementation processes ordinary raster images (JPG/PNG). Edge detection extracts the contour, which is then sampled as a sequence of complex numbers. Applying the DFT yields a set of frequency components; animating these as rotating phasors reconstructs the original shape as a sum of circles.

Results

Fourier drawing — butterfly shape reconstruction Fourier drawing — frog shape reconstruction

GitHub

2D-Fourier-Transform-Drawing-Machine
github.com/Danbi-Kim-0624/2D-Fourier-Transform-Drawing-Machine