Final Project Presentation& Demo Zhi Dong Real Time FEM of Elasto-Plastic Simulation.

Slides:



Advertisements
Similar presentations
Bending, Breaking and Squishing Stuff Marq Singer Red Storm Entertainment
Advertisements

A Simple Method for Extracting the Natural Beauty of Hair Ken-ichi Anjyo, Yoshiaki Usami, Tsuneya Kurihara Presented by Chris Lutz How many roads must.
Lecture 6; The Finite Element Method 1-dimensional spring systems (modified ) 1 Lecture 6; The Finite Element Method 1-dimensional spring systems.
Ray tracing. New Concepts The recursive ray tracing algorithm Generating eye rays Non Real-time rendering.
Real-Time Dynamic Wrinkles Caroline Larboulette Marie-Paule Cani GRAVIR Lab, Grenoble, France.
The Bioloid Robot Project Presenters: Michael Gouzenfeld Alexey Serafimov Supervisor: Ido Cohen Winter Department of Electrical Engineering.
INNER WORKINGS OF UNITY 3D. WHAT WE ARE GOING TO COVER Intro to Unity Physics & Game Objects Cameras & Lighting Textures & Materials Quaternions and Rotation.
Chapter 17 Design Analysis using Inventor Stress Analysis Module
Section 4: Implementation of Finite Element Analysis – Other Elements
Soul Envoy Final Year Project 22nd April 2006 By Zhu Jinhao.
1cs542g-term Notes  Make-up lecture tomorrow 1-2, room 204.
1Notes. 2 Building implicit surfaces  Simplest examples: a plane, a sphere  Can do unions and intersections with min and max  This works great for.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
Integrating FEM-based deformable obstacles in PRM Comp768 project presentation Mert Sedef.
Collision Detection CSE 191A: Seminar on Video Game Programming Lecture 3: Collision Detection UCSD, Spring, 2003 Instructor: Steve Rotenberg.
Foundations of Computer Graphics (Spring 2010) CS 184, Lecture 24: Animation Many slides courtesy Adam Finkelstein,
Interactive Animation of Structured Deformable Objects Mathieu Desbrun Peter Schroder Alan Barr.
1cs426-winter-2008 Notes  Course project: Will be due at the end of the term You can do it in pairs Create an animation that combines an algorithm for.
1cs533d-term Notes  list Even if you’re just auditing!
Physically-Based Simulation of Objects Represented by Surface Meshes Matthias Muller, Matthias Teschner, Markus Gross CGI 2004.
Introduction Multigrid finite-element solvers using the corotational formulation of finite elements provide an attractive means for the simulation of deformable.
3.7. O THER G AME P HYSICS A PPROACHES Overview of other game engine physics approaches.
CS 4730 Physical Simulation CS 4730 – Computer Game Design.
An Introduction to Physics Engines Michael Sundqivst TV10S1M3.
Physics and Sound Zhimin & Dave. Motivation Physical simulation Games Movies Special effects.
Dakota Humphries (Project Lead) Thomas Impellitteri (Tech Lead) Daryl McGhee II (Design Lead) Keith Rosier (Asset Lead)
Faking Dynamics of Cloth Animation for Animated Films Fabian Di Fiore Expertise Centre for Digital Media Hasselt University, Belgium
Antigone Engine Kevin Kassing – Period
Cloth Simulation By Chris Szendrovits o based on Jim Adams “Soft Body Mesh” demo.
Game Physics – Part IV Moving to 3D
Video Game Rendering Mathematics
Computer Graphics Group Tobias Weyand Mesh-Based Inverse Kinematics Sumner et al 2005 presented by Tobias Weyand.
3D Visualisation of Simulation Data. Informal Seminar 08/03/2004. By Chris Sweet.
Game Physics – Part I Dan Fleck Coming up: Rigid Body Dynamics.
Chapter 1 Computing Tools Analytic and Algorithmic Solutions Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Computer Graphics World, View and Projection Matrices CO2409 Computer Graphics Week 8.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Haptics and Virtual Reality
© 2011 Autodesk Freely licensed for use by educational institutions. Reuse and changes require a note indicating that content has been modified from the.
Neo-Breakout Sonhui Schweitzer CS 470 Spring 2005.
Final presentation saswat, venkat, vivek, vaibhav, jian, revant.
Final presentation saswat, venkat, vivek, vaibhav, jian, revant.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Physics for Games Spring 2012.
Introduction to Particle Simulations Daniel Playne.
Computer Game Design and Development
Games Development 1 Review / Revision CO2301 Games Development 1 Semester 2.
Kjell Simonsson 1 Vibrations in beams (last updated )
Beyond Bouncing Boxes Fast, yet still Realistic, Deformation and Fracture Jeff Lander Darwin 3D, LLC Luxoflux James O'Brien U. of California, Berkeley.
DYNAMICS Part 2 HOW DOES IT WORK?? by Willis Louie Jianfei Liao.
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Computer Graphics Imaging Ying Zhu Georgia State University Lecture 29 Soft Bodies and Rigid Bodies.
APE'07 IV INTERNATIONAL CONFERENCE ON ADVANCES IN PRODUCTION ENGINEERING June 2007 Warsaw, Poland M. Nowakiewicz, J. Porter-Sobieraj Faculty of.
Get your software working before putting it on the robot!
A novel approach to visualizing dark matter simulations
How to Program a Game: A Super Crash Course, A Talk or Something!
- Introduction - Graphics Pipeline
Computer Animation Ying Zhu Georgia State University
3.7. Other Game Physics Approaches
Physics-based Sound Synthesis with a Novel Friction Model
Physical Face Rigging Dinghuang Ji
CSE 381 – Advanced Game Programming Terrain
Computer Animation Algorithms and Techniques
Advanced Games Development Game Physics
Games Development 1 Review / Revision
ANALYSIS OF BEAM BY USING FEM
GPAT – Chapter 7 Physics.
Presentation transcript:

Final Project Presentation& Demo Zhi Dong Real Time FEM of Elasto-Plastic Simulation

Presentation Summary  Background of real time FEM  State of Art  New Challenges  Techniques/approaches  What have actually been accomplished  Demo Video  Summary of the course project contributions

Background  Computer games or simulators, demand a continuously growing degree of visual realism and technical sophistication.  Movie Industry…. Is that true?

State-of-Art  Linear FEM  Warped Stiffness FEM  Remesh Method

New Challenges Accuracy (Physically Valid) Simulation Frame Rate Stability

Techniques/approaches The basic idea is First Build a Tetrahedral Mesh Get the Stiffness Matrix for each element: Here is the trick: we can first get a matrix which is 12X12 where M[i][i]=1, and M[i][9-i]= M[i][6+i],M[i][3+i], M[i][9+i] is between 0 to which means we move one point and The adjacent point move following it, which is d=Mf, if we want to know the f we should use f=Kd where K is inverse of M, and also the element stiffness matrix. Get the Stiffness Matrix for the mesh using element stiffness matrix(Some vertices are shared by multiple tetrahedrons) (Assembling Method)

Techniques/approaches Basic Idea Mx ¨ + Cx ˙ + K ( x − x 0) = f ext (1) For each element with 4 vertices f= Kd (2) Simulation Procedural Actually, it is pretty simple, first we calculate force then we get the force by (2), then Update the displacement of each vertex by(1), Then we make it as a loop.

Techniques/approaches Triangle Mesh Deformation( Creavity) Now we have the tetrahedron mesh deformation, but we haven’t got the triangle mesh deformation. We should firstly let the tetrahedron mesh totally cover the triangle mesh, then we map the triangle into the nearest vertex in the tetrahedron mesh. If there exists displacement on the vertex, we simply apply: triangle vertex displacement = tetrahedron vertex displacement / (distance to the nearest tetrahedron vertex)

Techniques/approaches Fragile Effect  We firstly predefine some points which are more easily to tear apart, then at each simulation step, we check the displacement of the points, if one exceeds threshold, we should make all crack points tore apart. Pro: Easily to implement Con: Hard to mark the predefine crack points.

What have actually been accomplished Tools Used which part is borrowed, which part is written by myself. Borrowed: SlimDX: API for DirectX11 in C# Written by myself:  Render Engine: Just reuse the code when I complete the previous HWs of COMP 768  Physics Simulation Module: all written by myself, partially because all libs don’t support C#, including high rank matrix multiplication, inverse of matrix, and other trivial stuffs.  Collision Detection: Written by myself. Reuse some code from previous HWs. Bullet seems not work very well because it is a little complex and a little bit harder to integrate.

What have actually been accomplished Architecture of System Single Tetrahedron Simulation : Element Stiffness Matrix : Positions For 4 nodes in the Element Tetrahedron Mesh : Nodes, : Tetrahedrons : Stiffness Matrix FEM Method : Update the forces for each node : Update the displacement of each node : Get the inverse of Stiffness Matrix Mesh Mapping Update triangle position based on tetrahedron positions Contains Uses Following

What have actually been accomplished Actually create Physics Engine  After all is done, in the demo we will see that we actually build a whole physics engine, including collision between soft-body to rigid body and rigid body to rigid body.  What can be improved is creating some low level math libs.

What have actually been accomplished Demos After Implementing all the features of FEM, I also have done some demos to show the correctness and efficiency for my method: Two Demos:  Stretch Bunny Pull the tail of the bunny to stretch down and see what happens.  Balls Hitting Deformable Body Show the interaction with rigid body and fragile effect.

Demo Video Let’s Watch it! URL:

Demo Video Correctness  In the first demo, the bunny is stretched down, all adjacent parts in around the tail are moving following the tail, but it does not exceed the movement of tail.  The head of bunny moves down with the greatest “latency” which means the tetrahedrons movement are damping to the head.

Demo Video Correctness  In the second demo, the soft body is hit by several balls, I predefined the upside of the deformable body having a line of crack points. So it is obvious that if they are colliding, there exists a big crack.  It is visual convincing and shows a nice deformation intuitively.

Results: comparison, analysis Efficiency  In the whole simulation procedural, the mesh has been preprocessed, and once it has been processed, it has no updating. So the main part which affects the simulation is calculating the forces and displacement.  In our method, the displacement and forced computing is done in linear time complexity. See the previous slides…

Results: comparison, analysis Efficiency In our demos, our laptop is using Nvidia GF170M with 2 GB memory and Pentium 4 processor. The triangle consists of 1K vertices. In our demos, it can reach 62 FPS.

Summary of the course project contribution(s)  Implement real time FEM with fragile effect.  Triangle Mesh displacement Computing Method is novel and easy to implement.  Integrate FEM with rigid body dynamics which makes the system like a physics engine.  Write all stuff from scratch, without using any physics tools or libs. Just leverage DirectX11. Best way to avoid some illegal infringement.

Possible future work  Using CUDA to accelerate calculation  Release or modify some parts of Bullet Engine, because it is open source engine, but Softbody module solves it using spring mass model. Adding FEM will add more fantastic effect

Thanks and Have a Nice Holiday !