CS527 - Computer Animation - Fall 2006
Project 2 - Alphaboids


Initial thoughts

Idea 1 : - Vowels chasing down unruly alphabets
Idea 2: - Egyptian Hieroglyphics
Idea 3: - Fairy tale told by alphaboids


Final Idea: - Mechanical widgets affecting the boids' movements


paper texture courtesy of >> http://www.monolithic.com/plan_design/house_plans/3/3075x.gif <<
environment map >> courtesy of: ATI CubemapGen v1.1<<

An overview

Fig 1. The engineer's paper on the table. A couple of mechanical widgets - A gear and a wind tunnel


Implementation

 - Structures used to store boid objects, distances between each boid, positions of a boid, velocities of each boid etc. (all at time 'dt')

 - The structures are traversed based on the neighbourhood size

 - Velocity matching - is done by updating the velocities of the boids w.r.t the closest boids in small increments

 - Collision avoidance - is done by checking the distance with the radii of a boid and are moved along X axis in opposite directions

 - Flock centering - is done by checking angles between the boids and turning them in small increments until an average orientation is achieved automatically

 - Extra Stuff - The gear is just an object that collides with the boids and turns them away to make them move in random directions. The wind tunnel is a one-way path into which boids are zwooped when they get too close. A fan makes the motion a bit more realistic. The spring is just there in the table doing nothing.. it was first planned to do a spring motion on the boids.


Screenshots

 

Fig 2. The table zoomed out - Initial state - Space bar will start action

Fig 1. Another view of the paper and the alphaboids in action

Fig 4. Looking through the tunnel

Questions

Vijay Krishnamoorthy

For your flock centering, you said that the angles are turned in small increments. Since you are not making the boids collide with the boundary and turn back, but making it appear at the other end, what happens to the flock centering when a group of boids gets close to the boundary and starts centering and a few of them actually goes through the boundary and reappears in the other side. would centering still work?

Ans: It would start working as the neighbours arrive behind the boids that enter the boundaries and are close enough to be neighbours. It will not work when the split up neighbours are on two ends of the boundaries.

Code - Have a look..

Code & Required files to run - Download

This program requires Electro 7.46 to run. Get it at www.evl.uic.edu/rlk/electro

Arunan Rabindran
r.arunan@gmail.com