Skip to main content

No project description provided

Project description

Use fourier transform to draw epicycles with your drawings.

Draw a picture or sample one, press space, then watch an epic simulation of epicycles being drawned identically as your picture. Thanks the the fourier transform your drawing will be reproduced in a real-time simulation only using epicycles.


Fourier Animation


#Clone the repository
git clone
cd Fourier

#Install requirements
pip install -r requirements.txt


Put your model image image.png in the FourierImages folder.

  • Option 1: Give image at launch.
python image.png
  • Option 2: Launch then give the image.
> image name:

Then give your image:

> image name:image.png

Run with docker

# Download the docker-compose.yml file and cd into its parent folder
# Put your image in the FourierImages folder then run
# Replace 'image.png' by your own image filename
docker-compose run --rm fourier image.png

Or choose your own folder

# Download the docker-compose.yml file and cd into its parent folder
# Replace the first occurence of 'FourierImages' by your custom image folder
# Replace 'image.png' by your own image too
docker-compose run --rm \
    -v ./FourierImages:/opt/FourierImages \
    fourier image.png

Or run the full docker command without the docker-compose.yml file

docker run --rm \
-v $PWD/image.jpg:./image.jpg \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri \
marcpartensky/fourier /image.jpg

Or store the coefficients and the images in a folder

docker run --rm \
-v $PWD/FourierImages:/opt/FourierImages \
-v $PWD/FourierObjects:/opt/FourierObjects \
-v /tmp/.X11-unix:/tmp/.X11-unix \
--device /dev/dri \
marcpartensky/fourier image.jpg


There are 3 modes in this program:

  • Mode 1: Sampling Sample or draw a picture.

  • Mode 2: Drawing Watch the epicycles simulation which uses fourier transform.

  • Mode 3: Display Get the output image directly without waiting for the simulation.


  • Space: Switch to next mode.
  • Enter: Go back to the center.
  • Up/Down/Right/Left Arrow: Move arround.
  • Right/Left Shift: Zoom in or out.
  • Quit/Escape: Quit.
  • Z: Cancel last sample.
  • R: Remove all samples.
  • S: Save the fourier-coefficients.

Hide or Show the graphical components

Press the following numbers to toggle:

  • 1: Image
  • 2: Green lines
  • 3: Red graph
  • 4: White vectors
  • 5: Grey circles
  • 6: Yellow sample


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fourier_drawing-0.1.8.tar.gz (54.3 kB view hashes)

Uploaded Source

Built Distribution

fourier_drawing-0.1.8-py3-none-any.whl (58.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page