Mandala Rythmique — la symétrie vivante de votre musique
La scène Mandala Rythmique génère en temps réel un mandala géométrique interactif entièrement piloté par l'analyse de votre musique YouTube. Contrairement aux visualiseurs classiques, chaque élément du mandala — nombre de branches, forme des pétales, oscillation des anneaux — change dynamiquement selon les fréquences détectées.
Symétrie et rythme
Le mandala repose sur des courbes roses (rose curves), une famille de courbes polaires d'équation r = R × (1 + A × cos(n × θ)), où n est le nombre de lobes et A leur amplitude. Les basses fréquences contrôlent le nombre de branches radiales (de 4 à 16 branches selon l'énergie), les médiums influencent le nombre de lobes par pétale (de 2 à 6), et les aigus ajoutent un filagramme oscillant sur les bords extérieurs.
Quand un beat est détecté dans les basses, le mandala reçoit une impulsion rotationnelle — sa vitesse de rotation augmente brusquement puis se dissipe progressivement, comme un toupie qu'on relance. Simultanément, une explosion de particules en anneau (burst) émerge du centre et se dilate vers l'extérieur avant de s'éteindre.
Évolution en temps réel
La teinte globale du mandala évolue lentement et continûment, s'accélérant légèrement avec l'énergie musicale. Chaque branche reçoit une teinte légèrement décalée pour créer un effet arc-en-ciel irisé. Les 5 anneaux concentriques au centre oscillent radialement selon les aigus, donnant l'impression d'une membrane qui respire.
En l'absence d'audio, le mandala continue d'évoluer de manière autonome grâce à des valeurs sinusoïdales dérivées de l'horloge interne — ce qui permet de l'apprécier même sans musique active.
Technologie
Courbes roses r = R(1 + A·cos(nθ)) avec n lobes (2-6) contrôlés par les médiums. Branches 4-16 pilotées par les basses. 5 anneaux concentriques avec oscillation radiale de ±0,45·aigus·sin(6θ). Beat detection : (bass - prevBass > 0,10) AND (bass > 0,28), cooldown 14 frames. Bursts : anneau de 48 points se dilatant à 0,08-0,22 unités/frame sur 42 frames. BufferGeometry DynamicDrawUsage, AdditiveBlending, CanvasTexture halo gaussien 64×64. Total : ~2 320 points.