Midterm Progress

 

Concept:

The design of this dynamic artpiece stems from a mixture of blackholes, and mandalas. Mandalas are intricate geometric designs that radiate out from a central point. In many cultures, they’re used for spiritual symbols, meditation aids, or just as beautiful artworks. With multiple layers composed of points connected in circular patterns, they echo the repetitive yet diverse nature of the universe. The simulation employs a rotational dynamic, making the mandalas rotate around their center. This movement, combined with the random trajectories of the particles, offers a visually entrancing experience.

 

Sketch:

Code:

  calculateLayerRadius(layerIndex) {
    return this.radius * ((layerIndex + 1) / this.numLayers);
  }

  calculateNumPoints(layerIndex) {
    return int(map(layerIndex, 0, this.numLayers - 1, 2, 12));
  }

  calculateLayerSpacing() {
    return map(sin(frameCount/10) * 0.05, -1, 1, 5, 30);
  }

  calculateLayerColor(layerIndex) {
    return map(layerIndex, 0, this.numLayers - 1, 100, 255);
  }
}
  1. calculateLayerRadius(layerIndex):
    Gives the size for each layer. Inner layers are smaller, and it grows as we move out.
  2. calculateNumPoints(layerIndex):
    Decides the number of points for each layer. Inner layers have fewer points, and outer layers have more.
  3. calculateLayerSpacing():
    Sets the space between layers. It changes over time to make the mandala look animated.
  4. calculateLayerColor(layerIndex):
    Assigns a color to each layer. Inner layers are a bit darker, and it gets lighter as we go out.

These functions help design and animate the mandala’s layers.

 

Expected Challenges:

Performance Balancing:

Merging mandalas and a particle system presented optimization challenges. Ensuring smooth animations while maintaining rich details required thoughtful code structuring.

Adding particles:

Add some sort of particle system to enhance the viewing experience.

 

Future Improvements:

Interactivity:

Incorporating possible interactive elements can elevate user engagement. Such 

Incorporate Sound:

Add a soundtrack to enhance the experience

 

 

 

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *