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.

Demo

Fourier Animation

Install

#Clone the repository
git clone https://github.com/MarcPartensky/Fourier.git
cd Fourier

#Install requirements
pip install -r requirements.txt

Usage

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

  • Option 1: Give image at launch.
python __main__.py image.png
  • Option 2: Launch then give the image.
python __main__.py
> 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 \
-e DISPLAY \
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 \
-e DISPLAY \
marcpartensky/fourier image.jpg

Description

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.

Controls

  • 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

Enjoy!

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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file fourier_drawing-0.1.8.tar.gz.

File metadata

  • Download URL: fourier_drawing-0.1.8.tar.gz
  • Upload date:
  • Size: 54.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Linux/5.15.93-1-lts

File hashes

Hashes for fourier_drawing-0.1.8.tar.gz
Algorithm Hash digest
SHA256 2b1acbcfdaf7c9b7590d64ff6f18da1d2785da6a23874017e6c932c392cbb77c
MD5 4b24449e5caa77d2d3f330c7aa686a1e
BLAKE2b-256 cb5bd54f8dbb5d91ab72328a26f55556ef66984e3796caa0f517547f73532545

See more details on using hashes here.

File details

Details for the file fourier_drawing-0.1.8-py3-none-any.whl.

File metadata

  • Download URL: fourier_drawing-0.1.8-py3-none-any.whl
  • Upload date:
  • Size: 58.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.10.9 Linux/5.15.93-1-lts

File hashes

Hashes for fourier_drawing-0.1.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6294f062c12013e690043eda09ef586fd4660c41d8e6330e0e0fd41fc2d42b40
MD5 e91458482a7cdb085d6f5f2d727d8beb
BLAKE2b-256 7be911fda82527137bf3e948e361d50690b23e1b664b2be314e46555441252e9

See more details on using hashes here.

Supported by

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