Explore the mesmerising world of roulette curves — from cycloids to hypotrochoids and epitrochoids — using Python, math, and animations.
| Trochoids | Hypotrochoids | Epitrochoids |
|---|---|---|
![]() |
![]() |
![]() |
This repository contains a Jupyter Notebook that dives deep into roulette curves, a fascinating class of curves generated by the rolling motion of one curve on another. Through interactive plots, visualizations, and animations, this project unpacks both the theory and beauty of these curves.
-
Rolling of a circle along a straight line.
-
Discussed and visualized:
-
Generalized via a reusable
Trochoidsclass. -
Animated rolling motion with traced paths.
-
Rolling of a circle inside another circle.
-
Special cases:
-
Investigated how the ratio
$n = \frac{a}{b}$ (fixed to rolling circle radius) influences shape, periodicity, and closure.
-
Rolling of a circle outside another circle.
-
Special cases:
-
Explored behaviour under different values of
$n$ .
-
Showcased the unique property where all particles take the same time to reach the bottom of an inverted cycloid, regardless of starting point.
-
Simulated:
-
Illustrated using animations and physics-based modelling.
roulette-curves/
│
├── 📓 RouletteCurves.ipynb \# Main Jupyter notebook
├── 📁 ANIMATIONS/ \# GIFs and MP4s of animated curves
├── 📁 IMAGES/ \# Static images used in README or notebook
├── 📄 README.md \# Project documentation
├── 📄 requirements.txt \# Required Python packages
-
Clone the repository:
git clone https://github.com/PuspenduPH/Roulette-Curves-Visualization.git cd Roulette-Curves-Visualization -
Install dependencies:
It's recommended to use a virtual environment.
pip install -r requirements.txt
-
Launch the notebook:
jupyter notebook RouletteCurves.ipynb
- Python ≥ 3.8
- NumPy
- Matplotlib
- SciPy
- IPython
- Jupyter
- (Optional)
tqdmfor animation progress
All dependencies are listed in requirements.txt.
- Understand how rolling motions generate intricate geometric paths.
- Analyze how parameter ratios affect shape and periodicity.
- Explore physics applications like the tautochronic problem and pendulums.
- Combine theory with visualization to enhance mathematical intuition.
This project is licensed under the MIT License.























