DOC PREVIEW
CMU CS 15462 - Flocking and Animation

This preview shows page 1-2-3-4-5-6 out of 17 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 17 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

OverviewDescriptionSubmission Process and Handin InstructionsRequired TasksStarter CodeWhat You Need to ImplementWhat We Give YouGrading: Visual Output and Code StyleImplementation DetailsParticle SystemsSimple ParticlesIntegratorsEuler's MethodFlocking AlgorithmsBasic BoidsSteering BehaviorsSeparationAlignmentCohesionGoal-SeekingForcesForce Weights and Dampening TermsForce OrderingOrientationRenderingAn Interactive ApplicationSuggested SequenceExtra CreditWords of AdviceGeneral AdviceAppendixHigher Order IntegratorsObject-Object IntersectionBounding SpheresPenalty Forces15-462 Project 5: Flocking and AnimationRelease Date: Sunday, April 11, 2010Due Date: Tuesday, April 27, 2010, 23:59:59Starter Code: http://www.cs.cmu.edu/afs/cs/academic/class/15462-s10/www/proj/p5.tar.gzUseful references:OpenGL Reference Pages: http://www.opengl.org/sdk/docs/man/Boids Flocking: http://www.red3d.com/cwr/boids/Steering Behaviors: http://www.red3d.com/cwr/steer/SDL Documentation/Tutorials: http://www.libsdl.org/1 OverviewIn this lab, you will learn about flocking behavior and animation. The projectconsists of writing an interactive application. The application will focus on aflocking algorithm implemented with a particle system. Rendering will be donewith OpenGL.After a (not-so) brief interlude with raytracing, we will be returning toOpenGL, as this will be a real-time, interactive application. As always, theOpenGL Programming Guide is useful. You will also find the online documen-tation for SDL useful for implementing the “interactive” part of the application.The project is intended to allow exploration. There are no hard requirementsfor the actual behavior of the application; the only requirement is that it utilizea flocking algorithm as described in this writeup. So feel free to make this finalproject as interesting as pos sible, from both technical and creative perspectives.In other words, we’d like you to make something awesome.2 DescriptionThe main focus of this project is the flocking algorithm. You will implementsimple flocking behavior as described by the popular “Boids” flocking model.Particle simulation is one of the simplest types of simulation, but can beextended to animate a wide variety of phenomena such as rigid bodies, fluids,hair, cloth, etc. It has pratical applications in all sorts of simulation software,cinematic special effects, and video games.1You will b e using a particle system to implement a flocking algorithm. Theparticle system will track the position of velocity of the flock m embe rs, or“boids,” and the flocking algorithm chooses appropriate forces to apply to theparticles to provide flocking behavior.3 Submission Process and Handin InstructionsFailure to follow submission instructions will negatively impact your grade.1. Your handin directory may be found at/afs/cs.cmu.edu/academic/class/15462-s10-users/andrewid /p5/.All your files should be placed here. Please make sure you have a directoryand are able to write to it well before the deadline; we are not responsibleif you wait until 10 minutes before the deadline and run into trouble. Also,remember that you must run aklog cs.cmu.edu every time you login inorder to read from/write to your submission directory.2. You should submit all files needed to build your project, as well as anytextures, models, shaders, or screenshots that you used or created. Yourdeliverables include:• src/ folder with all .cpp and .hpp files.• Makefile and all *.mk files• writeup.txt• Any models/textures/shaders needed to run your code.3. Please do not include:• The bin/ folder or any .o or .d files.• Executable files• Any other binary or intermediate files generated in the build process.Run make clean before submitting. If you were using Visual Studio, besure to clean the solution before submitting.4. Do not add levels of indirection when submitting. For example, yourmakefile should be at .../andrewid /p5/Makefile, not.../andrewid /p5/myproj/Makefile or .../andrewid /p5/p5.tar.gz.Please use the same arrangement as the handout.5. We will enter your handin directory, and run make clean && make, andit should build correctly. The code must compile and run on theGHC cluster machines. Be sure to check to make sure you submit allfiles and that it builds correctly.6. The submission folder will be locked at the deadline. There are seperatefolders for late handins, one for each day. For example, if using one lateday, submit to .../andrewid /p5-late1/. These will be locked in turn oneach subsequent late day.24 Required TasksFigure 1: Sample output from an implementation of this projectA very general overview of the implementation requirements is as follows.Refer to subsequent sections of the handout for more details.Input: We provide you with an application and empty functions to implementyour program. We also provide you a sample executable of a flocking simula-tion.Output: You must fill in the functions provided with your implementation ofa particle-based flocking simulation. Furthermore, you must make it interactiveby using either mouse or keyboard input that allows the program to demon-strate correct flocking behavior as specified below.Correct flocking behavior will be defined as following the four rules laid out in theBoids model for flocking. Specifically, your flock must be able to demonstratethese four rules and additionally, handle orientation realistically as describedabove.An example of what we would be looking for is as follows: a simple scene wherea flock of particles (rendered as models) follows the mouse.Additionally, while there are no restrictions on how you choose to structure andimplement your code for this assignment, you are not permitted to use librariesor flocking code found externally for this project.3Requirements:• Implement a particle s imulation with a stable integration scheme.• Implement a flocking simulation using the particle simulation and the fourflocking forces: separation, alignment, cohesion, and goal-seeking.• Render the boids (i.e., flocking agents) using meshes or another nontrivialmethod.• Orient the boids as specified in this writeup to simulate banking.• Create an iteractive application or game that uses the flocking algorithm.• Submit a few screen shots of your program’s renderings.• Fill out writeup.txt with details on your implementation.• Use good code style and document well. We will read your code.At a minimum, you must modify game/main.cpp and


View Full Document

CMU CS 15462 - Flocking and Animation

Download Flocking and Animation
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Flocking and Animation and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Flocking and Animation 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?