Generative ellipse art. Each refresh creates a unique composition of rotating ellipses with vibrant colors, soft shadows, and elegant geometric patterns.
- Rotating Ellipses — Beautiful rotating ellipse patterns
- Two Layer System — Big and small ellipses in different colors
- Rich Color Palettes — 12 background, 12 foreground colors
- Soft Glow Effect — Elegant shadow blur on ellipses
- Geometric Harmony — Symmetrical, rotating compositions
- Seed-Based — Every composition is unique and reproducible via its seed
- Save & Share — Download as PNG with seed in filename
- Apparel Mode — Preview artwork on a T-shirt mockup
- Responsive — Works on desktop, tablet, and mobile
- Pure JavaScript — No external dependencies
- Keyboard Shortcuts:
R— RegenerateS— Save imageT— Toggle apparel view
| Parameter | Range | Description |
|---|---|---|
| Big Ellipses | 2–30 | Large outer ellipses |
| Small Ellipses | 2–20 | Small inner ellipses |
| Background Colors | 12 options | Soft pastel backgrounds |
| Big Ellipse Colors | 12 options | Dark, rich colors |
| Small Ellipse Colors | 12 options | Bright, vibrant colors |
| Shadow Blur | Variable | Soft glow effect |
The artwork creates a layered composition of rotating ellipses:
-
Setup:
- Random background color from 12 soft colors
- Random big ellipse color from 12 dark colors
- Random small ellipse color from 12 bright colors
- Random number of big and small ellipses
-
Small Ellipses (Inner Layer):
- Centered on canvas
- Rotating around their center
- Smaller size and line width
- Bright, vibrant colors
-
Big Ellipses (Outer Layer):
- Centered on canvas with 45° rotation
- Rotating around their center
- Larger size and line width
- Dark, rich colors
-
Rendering:
- Soft shadow glow on all ellipses
- Elegant geometric composition
- Symmetrical rotating patterns
# Clone the repository
git clone https://github.com/reyrove/Ellipses-Generative-Art.git
# Navigate to the directory
cd Ellipses-Generative-Art
# Open in browser
open index.html
# or use a live server- Push to GitHub
- Go to Settings → Pages
- Select branch
mainand root folder - Your site will be live at
https://reyrove.github.io/Ellipses-Generative-Art
The artwork is generated using a deterministic random number generator, seeded by timestamp + random noise. Every refresh:
-
Setup:
- Random background from 12 pastel colors
- Random big ellipse color from 12 dark colors
- Random small ellipse color from 12 bright colors
- Random count of big ellipses (2-30)
- Random count of small ellipses (2-20)
-
Size Calculation:
- Big ellipse width: random between w/4 and w/4 + w/8
- Small ellipse width: random between bigWidth/4 and bigWidth/4 + bigWidth/2
- Heights are half the width (2:1 ratio)
-
Rendering:
- Small ellipses drawn first (inner layer)
- Big ellipses drawn second (outer layer)
- Each ellipse rotates by a fraction of PI
- Soft shadow blur creates glow effect
Ellipses-Generative-Art/
├── index.html # Main application (all-in-one)
├── Ellipses.jpg # T-shirt mockup image
├── fav.svg # Favicon
├── demo-screenshot.jpg # Website demo screenshot
├── README.md # This file
└── LICENSE # MIT License
- Pure Vanilla HTML/CSS/JS — No dependencies
- Canvas API — 2D rendering
- CSS Flexbox/Grid — Responsive layout
- GitHub Pages — Hosting
| Action | Keyboard | Button |
|---|---|---|
| Regenerate | R |
Click "regenerate" |
| Save Image | S |
Click "regenerate" |
| Toggle Apparel | T |
Click "apparel" |
- Background: 12 soft pastel colors (pink, peach, yellow, lavender, green, cyan, etc.)
- Big Ellipses: 12 dark, rich colors (dark red, indigo, teal, maroon, purple, etc.)
- Small Ellipses: 12 bright, vibrant colors (yellow, magenta, cyan, gold, etc.)
Each ellipse has a 2:1 width-to-height ratio, creating elegant oval shapes. The rotation creates a mandala-like pattern.
- Inner Layer: Small ellipses create intricate patterns
- Outer Layer: Big ellipses frame the composition
- Combined: Creates depth and visual interest
A soft shadow blur adds a gentle glow to each ellipse, enhancing the dreamy, elegant feel of the artwork.
The application automatically adapts to:
- Desktop screens
- Tablets
- Mobile phones
- Landscape orientation
- Various aspect ratios
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch
- Submit a pull request
- New color palettes
- Additional ellipse patterns
- Animation features
- Interactive controls
- Performance optimizations
MIT License — see LICENSE file for details.
- Inspired by geometric art and mandalas
- Pure JavaScript implementation
- Special thanks to the creative coding community
Built with ❤️ and elegant ellipses
