Цветовой круг

Интерактивная композиция, создающая эффект космического цветового вихря. Анимация состоит из нескольких элементов:

Полукруги — динамические дуги, пульсирующие волнообразно с плавными изменениями прозрачности
(функция drawSemicircle() с Math.sin() для анимации радиуса и прозрачности)

Мерцающие звезды — случайно распределенные точки с синусоидальным мерцанием
(функция drawStars() с синусоидальным изменением яркости через Math.sin())

Магические частицы — вращающиеся частицы, меняющие цвет по HSL-спектру
(функция drawParticles() с HSL-градиентом и тригонометрическими вычислениями)

Центральное свечение — мягкий радиальный градиент, создающий иллюзию светящегося ядра
(функция drawCentralGlow() с createRadialGradient())

Управление:

Start — запуск анимации (функция startAnimation())

Pause — пауза (функция stopAnimation())

Reset — сброс к начальному состоянию (функция resetAnimation())