Skip to content

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

12 Commits

Folders and files

Repository files navigation

Moire Animations

Printable moire animation generators and generated reference assets.

This repo has two separate tools:

  • main.py: linear slit scanimation / barrier-grid generator.
  • radial_numbers/radial_moire_numbers.py: radial number-clock generator.

Slit Scanimation

main.py creates a classic barrier-grid animation from a folder of source frames. It writes:

  • output/interlaced_base.png: print on paper.
  • output/barrier_mask.png: print on transparent film.

Example:

python .\main.py --folder running --stripe-mm 1 --output output

Print at 100% scale. Slide the transparency by one stripe width to advance one animation frame.

Slit scanimation demo

Radial Number Clock

radial_numbers/radial_moire_numbers.py creates a radial moire base and a rotating transparency mask. In encoder-ring clock mode, the mask reveals numbers 1 through 12 at 30-degree increments, so one full mask rotation acts like a 12-hour clock.

Generate the final encoder-ring version:

python .\radial_numbers\radial_moire_numbers.py --mode encoder-ring-clock --preview-angles-deg 0,1,29,30,31 --output radial_numbers/output_encoder_ring_clock

Final radial files:

  • radial_numbers/output/: original radial scanline/repeating output.
  • radial_numbers/output_encoder_ring_clock/radial_interlaced_base.png: print on paper.
  • radial_numbers/output_encoder_ring_clock/radial_barrier_mask.png: print on transparency.
  • radial_numbers/output_encoder_ring_clock/previews/contact_sheet.png: all 12 reveal states.
  • radial_numbers/output_encoder_ring_clock/previews/angle_diagnostics.png: stability check at 0, 1, 29, 30, and 31 degrees.
  • radial_numbers/output_encoder_ring_clock/rotation_360_slow_in_pause_numbers.gif: encoder-ring animation.
  • radial_numbers/output_encoder_ring_clock/rotation_360_slow_in_pause_numbers_inverted.gif: inverted encoder-ring animation.

Radial encoder ring animation

Radial 12-number contact sheet

Radial Options

Useful options for radial_moire_numbers.py:

  • --deadzone-mm: black center radius; 0 keeps the pattern all the way to the center.
  • --invert: invert base, mask display colors, and previews while preserving mask transparency.
  • --rings: number of concentric encoder rings.
  • --encoder-angular-cells: angular cell count; must be divisible by --numbers.
  • --clock-hold-deg: angular stability window around each 30-degree target.
  • --preview-angles-deg: extra physical mask rotations to render as previews.

More radial details are in radial_numbers/README.md.

Install

pip install -r requirements.txt

About

No description, website, or topics provided.

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages