Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment

Slides:



Advertisements
Similar presentations
Constrained Dynamics Marq Singer
Advertisements

Curved Trajectories towards Local Minimum of a Function Al Jimenez Mathematics Department California Polytechnic State University San Luis Obispo, CA
Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment
Numerical Solution of Linear Equations
Physics for Game Programmers Contacts or “How (Not) To Make It Stick” Gino van den Bergen
Parallel Jacobi Algorithm Steven Dong Applied Mathematics.
Advanced Character Physics
Optimization.
Linear Algebra Applications in Matlab ME 303. Special Characters and Matlab Functions.
Integration Techniques
Network Systems Lab. Korea Advanced Institute of Science and Technology No.1 Some useful Contraction Mappings  Results for a particular choice of norms.
MATH 685/ CSI 700/ OR 682 Lecture Notes
Linear Systems of Equations
SOLVING SYSTEMS OF LINEAR EQUATIONS. Overview A matrix consists of a rectangular array of elements represented by a single symbol (example: [A]). An individual.
Rayan Alsemmeri Amseena Mansoor. LINEAR SYSTEMS Jacobi method is used to solve linear systems of the form Ax=b, where A is the square and invertible.
Iterative Methods and QR Factorization Lecture 5 Alessandra Nardi Thanks to Prof. Jacob White, Suvranu De, Deepak Ramaswamy, Michal Rewienski, and Karen.
1cs533d-term Notes  Braino in this lecture’s notes about last lectures bending energy…
1 L-BFGS and Delayed Dynamical Systems Approach for Unconstrained Optimization Xiaohui XIE Supervisor: Dr. Hon Wah TAM.
Function Optimization Newton’s Method. Conjugate Gradients
1 L-BFGS and Delayed Dynamical Systems Approach for Unconstrained Optimization Xiaohui XIE Supervisor: Dr. Hon Wah TAM.
ECIV 301 Programming & Graphics Numerical Methods for Engineers Lecture 19 Solution of Linear System of Equations - Iterative Methods.
Dynamical Systems Analysis II: Evaluating Stability, Eigenvalues By Peter Woolf University of Michigan Michigan Chemical Process Dynamics.
Arithmetic Operations on Matrices. 1. Definition of Matrix 2. Column, Row and Square Matrix 3. Addition and Subtraction of Matrices 4. Multiplying Row.

9 1 Performance Optimization. 9 2 Basic Optimization Algorithm p k - Search Direction  k - Learning Rate or.
Numerical Analysis 1 EE, NCKU Tien-Hao Chang (Darby Chang)
MATLAB FUNDAMENTALS: INTRO TO LINEAR ALGEBRA NUMERICAL METHODS HP 101 – MATLAB Wednesday, 11/5/2014
Systems of Linear Equations Iterative Methods
1.3 “Solving Linear Equations” Steps: 1.Isolate the variable. 2.To solve when there is a fraction next to a variable, multiply both sides by the reciprocal.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Final Project Presentation& Demo Zhi Dong Real Time FEM of Elasto-Plastic Simulation.
Hosted by Type your name here Choice1Choice 2Choice 3Choice
Linear Systems Iterative Solutions CSE 541 Roger Crawfis.
Large Steps in Cloth Simulation - SIGGRAPH 98 박 강 수박 강 수.
Computer Graphics Soft Body Animation - Skinning CO2409 Computer Graphics Week 22.
Lecture 7 - Systems of Equations CVEN 302 June 17, 2002.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1 Part 3- Chapter 12 Iterative Methods.
CSE 245: Computer Aided Circuit Simulation and Verification Matrix Computations: Iterative Methods I Chung-Kuan Cheng.
ECE 576 – Power System Dynamics and Stability Prof. Tom Overbye Dept. of Electrical and Computer Engineering University of Illinois at Urbana-Champaign.
Data Modeling Patrice Koehl Department of Biological Sciences National University of Singapore
Lecture 6 - Single Variable Problems & Systems of Equations CVEN 302 June 14, 2002.
Solving Scalar Linear Systems A Little Theory For Jacobi Iteration
Solving Systems of Linear equations with 3 Variables To solve for three variables, we need a system of three independent equations.
Searching a Linear Subspace Lecture VI. Deriving Subspaces There are several ways to derive the nullspace matrix (or kernel matrix). ◦ The methodology.
Network Systems Lab. Korea Advanced Institute of Science and Technology No.1 Maximum Norms & Nonnegative Matrices  Weighted maximum norm e.g.) x1x1 x2x2.
Matrices. Variety of engineering problems lead to the need to solve systems of linear equations matrixcolumn vectors.
Optimal Control.
MTH108 Business Math I Lecture 20.
Iterative Solution Methods
Part 3 Chapter 12 Iterative Methods
Simultaneous Linear Equations
Numerical Analysis Lecture12.
College Physics, 7th Edition
Iterative Methods Good for sparse matrices Jacobi Iteration
Lecture 19 MA471 Fall 2003.
CSE 245: Computer Aided Circuit Simulation and Verification
CS5321 Numerical Optimization
MATLAB EXAMPLES Matrix Solution Methods
CSE 245: Computer Aided Circuit Simulation and Verification
Chapter 10. Numerical Solutions of Nonlinear Systems of Equations
Matrix Methods Summary
~ Least Squares example
Linear Systems Numerical Methods.
Numerical Linear Algebra
~ Least Squares example
Performance Optimization
Engineering Analysis ENG 3420 Fall 2009
Numerical Analysis Lecture11.
Linear Algebra Lecture 16.
Pivoting, Perturbation Analysis, Scaling and Equilibration
Presentation transcript:

Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment

Synopsis This is the last lecture of the day, so Ill try to be nice Stuff thats cool, but not essential Soft body dynamics Breaking and bending stuff Generating sounds

Squishing Stuff Soft Body Dynamics

The Basics Use constraints to limit behavior For our purposes, we will treat each discreet entity as one particle in a system Particles can be doors on hinges, bones in a skeleton, points on a piece of cloth, etc.

Spring Constraints Seems like a reasonable choice for soft body dynamics (cloth) In practice, not very useful Unstable, quickly explodes

Stiff Constraints A special spring case does work Ball and Stick/Tinkertoy Particles stay a fixed distance apart Basically an infinitely stiff spring Simple Not as prone to explode

Cloth Simulation Use stiff springs Solving constraints by relaxation Solve with a linear system

Cloth Simulation

Forces on our cloth

Cloth Simulation Relaxation is simple Infinitely rigid springs are stable 1. Predetermine C i distance between particles 2. Apply forces (once per timestep) 3. Calculate for two particles 4. If move each particle half the distance 5. If n = 2, youre done!

Relaxation Methods

Cloth Simulation When n > 2, each particles movement influenced by multiple particles Satisfying one constraint can invalidate another Multiple iterations stabilize system converging to approximate constraints Forces applied (once) before iterations Fixed timestep (critical)

More Cloth Simulation Use less rigid constraints Vary the constraints in each direction (i.e. horizontal stronger than vertical) Warp and weft constraints

Still More Cloth Simulation Sheer Springs

Still More Cloth Simulation Flex Springs

Using a Linear System Can sum up forces and constraints Represent as system of linear equations Solve using matrix methods

Basic Stuff Systems of linear equations Where: A = matrix of coefficients x = column vector of variables b = column vector of solutions

Basic Stuff Populating matricies is a bit tricky, see [Boxerman] for a good example Isolating the ith equation :

Jacobi Iteration Solve for x i (assume other entries in x unchanged): (Which is basically what we did a few slides back)

Jacobi Iteration In matrix form: D, -L, -U are subparts of A D = diagonal -L = strictly lower triangular -U = strictly upper triangular

Jacobi Iteration Definition (diagonal, strictly lower, strictly upper): A = D - L - U

Lots More Math (not covered here) I highly recommend [Shewchuk 1994] Gauss-Seidel Successive Over Relaxation (SOR) Steepest Descent Conjugate Gradient Newtons Method (in some cases) Hessian Newton variants (Discreet, Quasi, Truncated)