Project Proposal: Flapping Bird of Boid System

Liang Dong, Clemson University, ldong@clemson.edu

1           Proposal

I am interested in simulating flying creatures. Therefore, for my final project, I propose to improve my boid system. My plan includes building bird model and animate bird flapping behavior.  Skybox and wrapped terrain are explored as the boid system's environment to make the scene looks natural and realistic.

There is one recent publication about Boid System in 2006 [3]. It adds one extra behavior of the bird to decide who is leader of the flock. I think it is not a great improvement so that I don't intent to implement it.

2           Bird Modeling

I want to present a flapping bird model into the system. A skeleton structure[1] is applied to the bird's wing with three independent joints (shoulder, elbow and wrist joint) shown in Fig.1. There are total 7 joints of the whole bird (2*3 for wings and 1 for tail). The bird model is divided into 8 independent parts shown in the Fig.2. The eight parts are 1*body, 1*tail, 2*primary wings, 2*secondary wings, 2* tertiary wings.

C:\Documents and Settings\user\Desktop\wings.png

Fig.1 Bird Wing Antanomy

My idea is use Maya to build the model and export to obj file. Then I will use obj file reader to load the 8 parts and assemble them together as a bird with adjustable joints.

In the first step, I will write a program to output the bird and manually adjusting the bird's joints by keyboard.

D:\Course\881-Physics based Animation\bird_sketch.JPG

Fig.2 Bird Sketch

3           Wingbeat Animation

Bird's wingbeat can be divided into upstroke and down stroke. I want to use a function of time to control the degrees of the joints to simulate the two types of strokes.

A wingbeat combines the two types of stroke that the bird's position should gets a -y axis offset during upstroke and a +y axis offset during down stroke. After one period of wingbeat, the bird's position should get back to its origin.

I want to connect the wingbeat behavior with the bird's flying intention. If the bird has a force backwards, the tail should be bent. If the force is forward, the flapping frequency should be proportional to the force but with an upper bound.

When the bird is turning direction in the sky, the wing should perform certain movement. To be exact, if the bird is turning left, the left wing should get close to body, and vice versa.

In the second step, I'll make the bird's flapping and automatically adjusting its wingbeat by its applied forces.

4           Skybox and Wrapped Terrain

I expected the boid system can be rendered in a natural environment.  Thus, I want to add a skybox in my final project. The birds are flying inside the skybox and the camera can rotate 360 degree to view different part of the natural scene.  The unlimited terrain is produced by repeat previous terrain texture. When the camera moves to the edge of one terrain, the previous terrain gets wrap around. CMU course lab [4] provides some basic principle of the skybox and unlimited terrain. I would like to implement them and add into my final project.

5           Future Work

The bird sketch is a simplified version of Jia-Chi Wu's work[2]. I am interested to apply aerodynamics into the bird's flying behavior [1, 2]. Website[2] provides a demoreel of Jia-Chi Wu's work and the motion of the flapping bird is astonishing. However, the motion calculation in that paper is done offline. I am thinking that by applying machine learning method, we can train the bird learn to fly in real time.

6           Reference

1.  Balajee Ramakrishnananda, Kok Cheong Wong, Animating bird flight using aerodynamics, the Visual Computer, 15, 10, 494-508,(1999)

2.  Jia-Chi Wu, Zoran Popvic, Realistic Modeling of Bird Flight Animations, Published in ACM Transactions on Graphics(SIGGRAPH 2003)

3.  Christopher Hartman, Bedrich Bennes, Autonomous Boid, Computer Animation and Virtual Worlds, 2006

4.  http://gamedev.cs.cmu.edu/spring2004/labs/lab1/index.php

 



[1] http://www.youtube.com/watch?v=uxJQmtCyi3M

[2] http://grail.cs.washington.edu/projects/flight/