Algorithmic Animation & Particle Systems

Slides:



Advertisements
Similar presentations
Time averages and ensemble averages
Advertisements

Swarm-Based Traffic Simulation
Beyond the Centralized Mindset
Flocking Behaviors Presented by Jyh-Ming Lien. Flocking System What is flocking system? – A system that simulates behaviors of accumulative objects (e.g.
Animation Following “Advanced Animation and Rendering Techniques” (chapter 15+16) By Agata Przybyszewska.
1Notes  Textbook: matchmove 6.7.2, B.9. 2 Match Move  For combining CG effects with real footage, need to match synthetic camera to real camera: “matchmove”
MAT 594CM S10Fundamentals of Spatial ComputingAngus Forbes Week 2 : Dynamics & Numerical Methods Goal : To write a simple physics simulation Topics: Intro.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
1 7M836 Animation & Rendering Animation Jakob Beetz Joran Jessurun
Particle Systems Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts Director, Arts Technology Center University.
Feature-length films: Games: Desktop Animations: Computer Animation.
05/09/02(c) 2002 University of Wisconsin Last Time Global illumination algorithms Grades so far.
Slope Fields and Euler’s Method. When taking an antiderivative that is not dealing with a definite integral, be sure to add the constant at the end. Given:find.
Computer Animation Rick Parent Computer Animation Algorithms and Techniques Physically Based Animation.
Physically Based Animation and Modeling
Erin Catto Blizzard Entertainment Numerical Integration.
1 Animation & Java3D ©Anthony Steed Overview n Introduction to Animation Kinematics Dynamics Boids n Java3D Scene graph Animation Vehicles.
CSC418 Computer Graphics n Animation Principles n Keyframe Animation.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
Monte Carlo Methods Versatile methods for analyzing the behavior of some activity, plan or process that involves uncertainty.
Mark Nelson Movement and physics Fall 2013
Maths & Technologies for Games Linear Dynamics Particle Based Physics CO3303 Week
Developing An Educational Rigid Body Dynamics Physics Engine By Neal Milstein.
DIFFERENTIAL EQUATIONS 10. DIFFERENTIAL EQUATIONS Unfortunately, it’s impossible to solve most differential equations in the sense of obtaining an explicit.
Integration for physically based animation CSE 3541 Matt Boggus.
Developing An Educational Rigid Body Dynamics Physics Engine By Neal Milstein.
Perpetual Visualization of Particle Motion and Fluid Flow Presented by Tsui Mei Chang.
Particle Systems. Applications Particle systems are broadly defined for: Explosion Cloth Fluid And more… It is integrated into many animation software,
CSCE 441: Keyframe Animation/Smooth Curves (Cont.) Jinxiang Chai.
More on Particles Glenn G. Chappell U. of Alaska Fairbanks CS 481/681 Lecture Notes Wednesday, March 24, 2004.
Clicker Question 1 Suppose a population of gerbils starts with 20 individuals and grows at an initial rate of 6% per month. If the maximum capacity is.
Animation Animation is about bringing things to life Technically: –Generate a sequence of images that, when played one after the other, make things move.
Particle Kinematics Direction of velocity vector is parallel to path Magnitude of velocity vector is distance traveled / time Inertial frame – non accelerating,
Feature-length films: Games: Desktop Animations:.
1 3.6 – Derivatives of Logarithmic Functions. 2 Rules Why is the absolute value needed?
Numerical Integration for physically based animation
Particle Systems Ed Angel Professor Emeritus of Computer Science
y P  dB r a  x  z ds I x When L, or
E The net electric flux through a closed cylindrical surface is zero.
Differential Equations
Dr. Jim Rowan ITEC 2110 Animation
© University of Wisconsin, CS559 Fall 2004
7.1 Slope Fields and Euler’s Method
Integral as Net Change Chapter 8.1.
Numerical integration for physically based animation
6.1 - Slope Fields.
First Order Linear Equations
Exploratory Analysis of Crash Data
Evaluating Limits Analytically with Trig
Quick Review 2012 Pearson Education, Inc..
Advanced Computer Graphics Spring 2008
Clicker Question 1 Suppose a population of gerbils starts with 20 individuals and grows at an initial rate of 6% per month. If the maximum capacity is.
IMPULSE AND MOMENTUM When ever things collide, I’ve heard,
Physically Based Animation and Modeling
Same format as first quiz. Total of 50 points
Energy Efficiency! It’s cool to save .
UMBC Graphics for Games
CSCE 441: Keyframe Animation/Smooth Curves (Cont.)
(c) 2002 University of Wisconsin
Particle Systems Ed Angel
VIRTUAL ENVIRONMENT.
Computer Graphics Lecture 15.
CO Games Concepts Week 22 Particle systems
Notes for Analysis Et/Wi
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Agent-Based Models Hiroki Sayama
Force and Motion (H) Newton's second law. Inertia. Weight.
Slope Fields.
Reading Between the Lines!
GPAT – Chapter 7 Physics.
Presentation transcript:

Algorithmic Animation & Particle Systems

Key Frame Animation Hand-drawn animation was straight-ahead (start at one position, and animate each small movement Computer Animation is usually based on key frames – a frame for the starting position and a frame for the end position

Key Frame Animation How do you calculate the frame positions in between key frames? Interpolation: Approximation of a function between two known points

Why interpolation? Attributes (position, size, color) change as a function over time Function often given by physics f = ma Why approximate a known function? Solving function at certain point requires solving differential equations

Interpolation Idea: Don’t want to solve equation at each point Approximate some points and connect them with Lines Arcs Other functions (trig)

Euler Integration Use first derivative to get the direction of the curve at a point. Draw lines in direction of first derivative Accuracy depends on the frequency with which you re-evaluate the derivative

Euler Integration

Linear Interpolation Use a line to connect 2 way points In C#: Mathf.Lerp(from, to, percent) Vector3.Lerp Quaternion.Lerp Color.Lerp

Example – Moving between way points private Vector3 start; private Vector3 end; private float startTime; private float speed; void Start() { startTime = Time.time; } void Update() { float journeyLength = Vector3.Distance(start, end); float distCovered = (Time.time - startTime)* speed; float fracJourney = distCovered / journeyLength; transform.position = Vector3.Lerp(start, end, fracJourney);

More on Approximation Collision Detection: Can’t always calculate every collision Isolate groups of things that may collide Approximate the result

Example: Hair

Example: Springs Hooke’s law: f = – kx k is “springiness” constant x is extension Also know f = ma Spring forces act on other elements(& other springs)

Particle Systems Create one simple object Objects follow rules of behavior Many instances of the simple object create an interesting overall effect

Examples: Small spheres Fireworks Waterfalls

Particle Systems: Springs Hair Cloth

Distributed Computation De-centralized control Aggregate behavior emerges Simple rules for the individual lead to complex behavior for the group Often very natural-looking

Distributed Computation Examples Braitenberg Vehicles Light lover Light fear Aggression Traffic Patterns

Distributed Computation Examples Boids: three rules Separation Alignment Cohesion

Distributed Computation Examples Fish Virtual Fishtank Xiaoyuan Tu

Artificial Life Ants Know “home” Look for food If they find food source, pick it up and head home Drop pheromones – chemicals “smelled” by antennae Result: All food gets taken home

Artificial Life Termites Rules Result: food in one place If you reach food and don’t have any, pick some up If you reach food and have some already, put it down Move randomly Result: food in one place

Artificial Life Creatures Random joints with degrees of freedom Try to move Learn to move from one place to the other