Experience the dynamic heartbeat of code — a live JavaScript-rendered spiral powered by trigonometric motion and vibrant HSL color cycling. This canvas-based engine runs entirely in-browser, generating 200+ orbiting points that mimic neural pulse movements.
Core Implementation
Below is the full code of the spiral visualization engine. You can copy, tweak, or remix it:
spiral.js
const canvas = document.createElement("canvas");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
document.body.appendChild(canvas);
const ctx = canvas.getContext("2d");
let t = 0;
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (let i = 0; i < 200; i++) {
const angle = i * 0.2 + t;
const radius = i * 0.5;
const x = canvas.width / 2 + Math.cos(angle) * radius;
const y = canvas.height / 2 + Math.sin(angle) * radius;
ctx.beginPath();
ctx.arc(x, y, 3, 0, 2 * Math.PI);
ctx.fillStyle = `hsl(${angle * 50}, 100%, 60%)`;
ctx.fill();
}
t += 0.02;
requestAnimationFrame(draw);
}
draw();
How It Works
- Canvas Setup: Dynamically adds a full-window canvas element to render the spiral.
-
Trigonometry in Action: Each point's X and Y position is calculated using
Math.cos
andMath.sin
. -
Color Gradient: Uses
HSL
for smooth color transitions as each point orbits. -
Animation Frame Loop: The spiral moves smoothly using
requestAnimationFrame
.
Why This Feature Matters
- Educational Visual: Perfect for visual learners understanding real-time motion and math in code.
- Creative Displays: Add it to your site header or background as a live visual flair.
- Performance-Oriented: Runs without frameworks and fully GPU-accelerated via the canvas API.
- Modular: Easily customizable for particle count, speed, and design tweaks.