Flocking « Rama Hoetzlein



A flock of starlings is a murmuration, a unique phenomenon in which thousands of birds appear to undulate and fold in waves. Videos of starling murmurations have inspired awe and wonder. Recently, scientific investigation has found that starlings achieve their group flight with incredibly rapid adjustments to avoid collisions and remain with the flock. Murmurations with tens of thousands of birds have been observed. The goal of this project, Flock, was to recreate the dynamics of murmurations as closely as possible.


In 1987, Craig Reynolds developed Boids, an artifical life program that relies on three simple rules to guide the motion of birds in a simulated flock. These rules are:

  • Separation – Steer to avoid crowding others
  • Alignment – Steer to maintain a direction similar to others
  • Cohesion – Steer toward the average position of local flockmates
  • Despite surprising visual results, simple implementations of Boids typically do not appear to have the same complexity as real murmurations. A key observation is that boids describes a set of rules regarding collision and avoidance with neighbors, but does not define how an individual bird is able to make these adjustments.


    For the most realistic results, Flock also introduces the simulation of true flight dynamics. Individual birds cannot instantly change direction, as in boids, but may only control their wings to correct their current flight path. The addition of flight, which includes airspeed, roll, pitch, and yaw, results in complex behavior such as true banking, decreased speed when climbing, and increased speed when diving. When observed, these speed changes give the noticeable feeling of birds as they accelerate or dive. By adding physical limits to individual birds’ wings, this also correctly simulates flight mishaps and overshooting, as the wings are unable to meet extreme goals.

    While flight dynamics increases the simulation realism significantly, the resulting murmurations still appear repetitive and artifical. The final missing component was found to be the behavior of the entire roost. Scientists have known for some time that starlings return at night to roost. However, this concept is not present in Reynold’s neighborhood rules, or in individual flight dynamic. Rather, the notion of a roost applies to the flock as a whole.


    The introduction of global roosting rules, in addition to these other local and individual rules, results in the Flock simulation above. The first roosting rule defines a moving line in space, toward which the flock is gently attracted as a whole. The key idea is that this moving line represents the high level behavior of the leading birds, who guide the flock in cyclic patterns around their roosting point. A night, starlings return to the roosting point to keep warm, and during the day they are attracted to other points, such as areas with insects for feeding.

    Flock thus simulates the behavior of the starling at three levels: 1) At the individual level, flight dynamics resolves a single bird’s wing motion with its goals, 2) At the group level, Reynold’s rules determine rapidly changing collision-response relationships among seven neighboring birds, and 3) At the global level, roosting rules simulate the high level behavior of the group around nesting or feeding points.

    Web Design MymensinghPremium WordPress ThemesWeb Development

    New Website Launched

    November 12, 2014November 12, 2014
    This new personal website contains previously unpublished videos, updated content, and more on teaching materials and current research.

    Fluids v.3.1 presented at GPU Technology Conference 2014

    March 7, 2014March 7, 2014
    news_fluidsNovel methods for fluid simulation were presented at the GPU Technology Conference, in Santa Clara, CA. The new Fluids v.3.1 can simulate over 4 million particles at 4 fps, is easier to build, and runs on CUDA 5.0 and 5.5.

    Starting Position as Graphics Developer with NVIDIA

    January 1, 2013January 1, 2013
    nvidia_logoThis January, 2013, I start a new position in Graphics Research at NVIDIA Corporation in Santa Clara, CA, working with CAD clients to develop GPU technologies, and exploring topics in computer graphics.