Monday, December 06, 2021

[xmdqdtgf] bouncing billiard balls

simulate balls (circles, discs) elastically colliding with each other and walls in 2D.  this should be easy.  we expect it to be entertaining because it has short-term predictability but long-term unpredictability, a combination that people like in entertainment.  previously.

collisions between balls of different masses can induce a variety of velocities.  let mass be proportional to area.  or area^(3/2), modeling 3D spheres confined to 2D, all equators on the same plane.

options for the shape of the chamber:  plain rectangle.  maze-like collection of walls and rooms.  one-way doors.  beware that collision with a sharp point is indeterminate.

highlight rare occurrences (somehow), providing entertainment by variable ratio reinforcement.  possible rare occurrences: high velocity or kinetic energy, low velocity or energy, large distance traveled between collisions, large time interval between collisions, aesthetically pretty collisions, low or high density of particles in a region.

let rare occurrences leave permanent or long-lived tracks or records, and UI can rewind history to relive them.

color the balls.  completely randomly to make it easier for the eye to track a particular ball.  or UI to select particular balls to have special colors.  or color by speed or energy.

color the regions between balls.  average temperature in the local region (not sure how to do this, future post gonnbxai).  map coloring of Voronoi partition.

No comments :