Colorful Smoke Rings - Animation Test
✓ Published0🌍 Public
This example shows a field of concentric circles that simulate colorless, drifting smoke rings, which continuously expand and fade against a dark background. Built with React and D3.js, the visualization generates random positions, radii, stroke colors, and widths for 150 circles, rendering them as SVG elements. The animation is driven by SVG’s native `<animate>` elements, which control radius expansion, stroke-width growth, and opacity fade over a 15-second loop, with the dataset refreshing every 30 seconds. This test explores basic SVG animation with React’s state management and SMIL animations, replacing data with random placement to focus on motion and visual effect.
AI-generated descriptionA program that draws concentric circles that expand and end up immitating drifting smoke rings.
Notes:
- This is an attempt to create a basic animation of SVG elements. In this test, data has been substituted for randomly placed circles.
- Inspired by Amelia Wattenberger's great blog post and Nita Nagdewate's concentric circle patterns here in Vizhub.
Success/Failure Notes:
- I originally tried to accomplish this with the Styled-Components plug-in. Although it worked, it proved to be too resource-intensive, especially when so many DOM objects had to be re-rendered.
- I also experimented with the onAnimationIteration and onAnimationEnd global event handlers but couldn't reliably get them to work for this project. Further learning required...
MIT Licensed