Light Mode Starfield
A colorful starfield animation rendered on an HTML5 Canvas, with 800 stars moving through 3D space against a light background. The stars rotate around the center using trigonometric calculations and are projected with perspective depth. Each star features a distinct HSL color, size, and speed, and stars are recycled when they move off-screen. The animation runs with requestAnimationFrame, and the canvas resizes to fill the viewport.
AI-generated description3D Rotating Starfield (Light Mode)
An interactive 3D starfield animation built with HTML5 Canvas and vanilla JavaScript. Features a rotating perspective view with colorful stars moving through 3D space against a light background.
Features
- Light Mode: Features a bright background with richly colored stars
- 3D Perspective: Stars move through 3D space with realistic depth perception
- Rotation Effect: The entire starfield slowly rotates around the center
- Colorful Stars: Each star has a vibrant hue generated using HSL colors
- Responsive Design: Automatically adjusts to window size changes
- Smooth Animation: Uses
requestAnimationFramefor optimal performance
How it Works
- 2000 stars are generated with random positions, colors, sizes, and speeds
- Each star exists in 3D space (x, y, z coordinates)
- Stars rotate around the center using trigonometric functions
- Perspective projection creates the illusion of depth
- Stars that move off-screen are recycled to the back of the scene
Usage
Simply open index.html in a web browser. The animation starts automatically and fills the entire viewport.
Customization
You can adjust various parameters in constants.js:
NUM_STARS: Number of stars (default: 2000)MIN_STAR_SIZE/MAX_STAR_SIZE: Star size rangeMIN_SPEED/MAX_SPEED: Star movement speed rangePERSPECTIVE_FACTOR: Controls depth effect intensityROTATION_SPEED: How fast the starfield rotatesBG_COLOR: Background color (light theme)
Files
index.html: Main HTML structureindex.js: Animation controllerrenderer.js: Canvas rendering logicstar.js: Star generation and propertiesconstants.js: Configuration parametersstyles.css: Basic styling for full-screen display