Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin

Slides:



Advertisements
Similar presentations
Motivation Hair animation used in movies, games, virtual reality, etc. Problem due to complexity –Human head has over 100,000 strands of hair –Computation.
Advertisements

Presented by Konstantinos Georgiadis. Abstract This method extends the Hierarchical Radiosity approach for environments whose geometry and surface attributes.
Real-Time Rendering POLYGONAL TECHNIQUES Lecture 05 Marina Gavrilova.
Image Segmentation Image segmentation (segmentace obrazu) –division or separation of the image into segments (connected regions) of similar properties.
Generated Waypoint Efficiency: The efficiency considered here is defined as follows: As can be seen from the graph, for the obstruction radius values (200,
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Reciprocal Velocity Obstacles for Real-Time Multi-Agent Navigation Jur van den Berg Ming Lin Dinesh Manocha.
Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.
1 Last lecture  Configuration Space Free-Space and C-Space Obstacles Minkowski Sums.
Dynamic Real-Time Deformations using Space & Time Adaptive Sampling Gilles Debunne Marie-Paule Cani Gilles Debunne Marie-Paule Cani Mathieu Desbrun Alan.
High-Quality Simplification with Generalized Pair Contractions Pavel Borodin,* Stefan Gumhold, # Michael Guthe,* Reinhard Klein* *University of Bonn, Germany.
1Notes. 2 Building implicit surfaces  Simplest examples: a plane, a sphere  Can do unions and intersections with min and max  This works great for.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
Particle Systems 1 Adapted from: E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012.
Daniel Blackburn Load Balancing in Distributed N-Body Simulations.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
1 Integration of Background Modeling and Object Tracking Yu-Ting Chen, Chu-Song Chen, Yi-Ping Hung IEEE ICME, 2006.
Today Introduction to MCMC Particle filters and MCMC
Continuum Crowds Adrien Treuille, Siggraph 王上文.
Effective Gaussian mixture learning for video background subtraction Dar-Shyang Lee, Member, IEEE.
Haptic Cloth Rendering 6th Dutch-Belgian Haptics Meeting TUDelft, 21 st June 2006 Lode Vanacken Expertise centre for Digital Media (EDM) Hasselt University.
Bounding Volume Hierarchies and Spatial Partitioning Kenneth E. Hoff III COMP-236 lecture Spring 2000.
The UNIVERSITY of NORTH CAROLINA at CHAPEL HILL Constraint-Based Motion Planning using Voronoi Diagrams Maxim Garber and Ming C. Lin Department of Computer.
Modeling Fluid Phenomena -Vinay Bondhugula (25 th & 27 th April 2006)
Jacinto C. Nascimento, Member, IEEE, and Jorge S. Marques
A Simple, Efficient Method for Realistic Animation of Clouds
Gravity and Orbits The gravitational force between two objects:
Hidden Surface Removal
Adaptive Signal Processing Class Project Adaptive Interacting Multiple Model Technique for Tracking Maneuvering Targets Viji Paul, Sahay Shishir Brijendra,
Physics and Sound Zhimin & Dave. Motivation Physical simulation Games Movies Special effects.
Multi-Layered Navigation Meshes Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts ICT.OPEN 2011.
Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
BraMBLe: The Bayesian Multiple-BLob Tracker By Michael Isard and John MacCormick Presented by Kristin Branson CSE 252C, Fall 2003.
Dynamic Meshing Using Adaptively Sampled Distance Fields
BIPEDAL LOCOMOTION Prima Parte Antonio D'Angelo.
Level of Detail & Visibility: A Brief Overview David Luebke University of Virginia.
Computer Graphics 2 In the name of God. Outline Introduction Animation The most important senior groups Animation techniques Summary Walking, running,…examples.
June 19, 2007 GRIDDED MOS STARTS WITH POINT (STATION) MOS STARTS WITH POINT (STATION) MOS –Essentially the same MOS that is in text bulletins –Number and.
Computer-Generated Pen-and-Ink Illustration of Trees Oliver Deussen & Thomas Strothotte University of Magdeburg.
Pavel Slavík, Marek Gayer, Frantisek Hrdlicka, Ondrej Kubelka Czech Technical University in Prague Czech Republic 2003 Winter Simulation Conference December.
Simulation Level of Detail Or Doing As Little Work As Possible Jonathan Robbins Physically Based Modeling, Simulation, and Animation February 10, 2003.
Simplified Smoothed Particle Hydrodynamics for Interactive Applications Zakiya Tamimi Richard McDaniel Based on work done at Siemens Corporate.
Detail-Preserving Fluid Control N. Th ű rey R. Keiser M. Pauly U. R ű de SCA 2006.
CIS 350 – I Game Programming Instructor: Rolf Lakaemper.
Adrian Treuille, Seth Cooper, Zoran Popović 2006 Walter Kerrebijn
View-dependent Adaptive Tessellation of Spline Surfaces
ChE 452 Lecture 25 Non-linear Collisions 1. Background: Collision Theory Key equation Method Use molecular dynamics to simulate the collisions Integrate.
Orientable Textures for Image- Based Pen-And-Ink Illustration Michael P. Salisbury Michael T. Wong John F. Hughes David A. Salesin SIGGRAPH 1997 Andrea.
Representation and modelling 3 – landscape specialisations 4.1 Introduction 4.2 Simple height field landscapes 4.3 Procedural modeling of landscapes- fractals.
Pure Path Tracing: the Good and the Bad Path tracing concentrates on important paths only –Those that hit the eye –Those from bright emitters/reflectors.
R-Trees: A Dynamic Index Structure For Spatial Searching Antonin Guttman.
LODManager A framework for rendering multiresolution models in real-time applications J. Gumbau O. Ripollés M. Chover.
Flexible Automatic Motion Blending with Registration Curves
CS274 Spring 01 Lecture 7 Copyright © Mark Meyer Lecture VII Rigid Body Dynamics CS274: Computer Animation and Simulation.
Interactive Control of Avatars Animated with Human Motion Data By: Jehee Lee, Jinxiang Chai, Paul S. A. Reitsma, Jessica K. Hodgins, Nancy S. Pollard Presented.
Virtual Light Field Group University College London Ray Tracing with the VLF (VLF-RT) Jesper Mortensen
Fast SLAM Simultaneous Localization And Mapping using Particle Filter A geometric approach (as opposed to discretization approach)‏ Subhrajit Bhattacharya.
Sporadic model building for efficiency enhancement of the hierarchical BOA Genetic Programming and Evolvable Machines (2008) 9: Martin Pelikan, Kumara.
Advanced Games Development Game Physics CO2301 Games Development 1 Week 19.
Jet reconstruction with Deterministic Annealing Davide Perrino Dipartimento di Fisica – INFN di Bari Terzo Convegno Nazionale sulla Fisica di Alice – 13/11/2007.
Real-Time Hierarchical Scene Segmentation and Classification Andre Uckermann, Christof Elbrechter, Robert Haschke and Helge Ritter John Grossmann.
UNC Chapel Hill David A. O’Brien Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin Department of Computer Science.
Bounding Volume Hierarchies and Spatial Partitioning
A Forest of Sensors: Using adaptive tracking to classify and monitor activities in a site Eric Grimson AI Lab, Massachusetts Institute of Technology
Bounding Volume Hierarchies and Spatial Partitioning
CS475 3D Game Development Level Of Detail Nodes (LOD)
Motion in Real and Virtual Worlds
Simulation Acceleration Techniques
Computer Graphics Lecture 15.
Run-Time LOD Run-time algorithms may use static or dynamic LOD models:
Presentation transcript:

Automatic Simplification of Particle System Dynamics David O’Brien Susan Fisher Ming C. Lin

UNC Chapel Hill Ming C. Lin Outline Introduction and Motivation Simulation Level of Detail (SLOD) –Definitions and Parameters –Creation and Maintenance through Physically- based Spatial Subdivision Adding Flexibility –Regions of Interest (ROI) –Switching ROIs Results Future Work

UNC Chapel Hill Ming C. Lin Introduction: Motivation Real-time VEs & Video Games –Increasingly use particle systems and physically based simulations –Despite recent advances, still can not simulate complex dynamical systems in real time. Goal: –Reduce Cost of Dynamics Computations through Simulation Acceleration Techniques –Analogous to Model Simplification & Rendering –Maintain Consistent Frame Rates for Simulations

UNC Chapel Hill Ming C. Lin Previous Work Model Simplification & Simulation Levels of Detail –Fumkhouser et al created a generic framework for LOD and rendering techniques to maintain real-time frame rates –Carlson & Hodgins created Simulation Level of Details for groups of legged creatures. –Chenney et al proposed view-dependent culling of dynamic systems

UNC Chapel Hill Ming C. Lin Particle Systems Why Particle Systems? –Natural Phenomena, Modeling, and Group Behavior Field System: Force can be applied to a particle in constant time –Gravity, Drag, Turbulence –Linear with respect to number of particles N-Body Simulation: –Astronomical Simulation, Potential Calculations –n 2 interactions, reduced to O(n lg n) with heuristics such as Barnes-Hut Algorithm

UNC Chapel Hill Ming C. Lin Simplifying a Particle System: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Group into Clusters: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Calculated Weighted Center of Mass Position: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Calculated Weighted Center of Mass Velocity: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Apply Dynamics Engine to the just the Center of Masses: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Update particles to match movement of Center of Masses: Simulation Level of Detail (SLOD)

UNC Chapel Hill Ming C. Lin Given a Particle Cluster C consisting of n particles: 1. Computer Position P com and Velocity V com 2. Update CoM using standard particle dynamics. 3. Apply change in P com and V com to all particles. Simulation Level of Detail (SLOD) where, m i, P i and V i are mass, position and velocity of i th particle

UNC Chapel Hill Ming C. Lin Main Parameters (used to create clusters) : –Cluster Size: maximum number of particles per cluster –Cluster Breadth: maximum spatial size of a cluster Secondary Parameters (when clusters can be combined): –Velocity Ratio: –Relative Angle: SLOD Parameters

UNC Chapel Hill Ming C. Lin How to Cluster? Uniform Grids: Fast placement+lookup Uneven particle sizes Quad-Trees: Adaptive, good clustering O(n lg n) cost too high

UNC Chapel Hill Ming C. Lin Physically-based Hybrid Subdivision Base is a uniform grid –Give good insertion and query speed When needed, subdivide as a Kd-tree. Maximum Cluster Breadth

UNC Chapel Hill Ming C. Lin Physically-based Hybrid Subdivision Why Physically-based? –We can subdivide on a physical parameter as well –Usually this is done only at the top of the SD hierarchy heavy light

UNC Chapel Hill Ming C. Lin SLOD System Architecture Set Parameters and Minimum Frame Rate Create Initial Subdivision Tree. Initialize SLODs. Advance Simulation Step. Update SLODs. Update Subdivision Tree. Render Particles

UNC Chapel Hill Ming C. Lin Efficient SLOD Updating Can not rebuild the Subdivision Tree on each Simulation Step. After each simulation step: –Remove and Reinsert each cluster that has moved out of its cell. –When inserting, merge nearby clusters when possible. –Prune the tree of unnecessary empty cells –Insert new particles into nearby clusters. If clusters become too large, split them. Always taking into account changes in SLOD parameters

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Max Cluster Size switches from 4 to 2

UNC Chapel Hill Ming C. Lin Smooth SLOD Switching Only update clusters when they move out of their cell. –Only changed the SLOD parameters

UNC Chapel Hill Ming C. Lin Regions of Interest (ROI) System is still not flexible enough –Real particle systems are dynamic –Different Areas need Different SLOD levels Solution: –Divide Simulation Space into many ROIs. –ROIs can independently: have separate SLOD settings size and reshape move around the simulation space be added or deleted dynamically

UNC Chapel Hill Ming C. Lin Regions of Interest (ROI) We need higher resolution SLOD for important events –Collisions on uneven surfaces –“Emitter Problem” Averaging velocity near emitter cancels out the spreading of the particles

UNC Chapel Hill Ming C. Lin Regions of Interest (ROI) Hybrid subdivision tree with ROIs: –Several hybrid SD trees grouped under a Master Node. Master Node Background ROI Medium Priority ROI High Priority ROI

UNC Chapel Hill Ming C. Lin Results: Regions of Interest

UNC Chapel Hill Ming C. Lin Results: Changing ROIs

UNC Chapel Hill Ming C. Lin Maintaining Constant Frame Rate After each Step of the Simulation, the frame rate average over the last few frames is checked. –If too low, adjust SLOD parameters to a coarser level –Larger clusters begin to form and frame rate increases

UNC Chapel Hill Ming C. Lin Maintaining Constant Frame Rate How to adjust the parameters? –First adjust the Max. Cluster Size. Increment/Decrement by 1 Increment/Decrement by a percentage relative to how close we are to achieving frame rate goal Both give similar results. –Adjust Cluster Breadth only if necessary.

UNC Chapel Hill Ming C. Lin Error Analysis Error in such system not well defined Concerned with global appearance and macroscopic behavior, not local errors on individual particles Merges: –Weighted averaging in merges affects lighter particles/clusters heavier ones –Maximum shift in velocity is reduced when merging clusters have similar mass –This provides an argument in favor of subdividing on mass, as well as spatial coordinates.

UNC Chapel Hill Ming C. Lin Results: Frame Rates

UNC Chapel Hill Ming C. Lin Results: Frame Rates

UNC Chapel Hill Ming C. Lin Future Work Can this approach or similar ideas be generalized to other dynamical systems? Automatic Determination of ROIs Particle based Cloth Simulations Can we ensure that the Macro Integrity and results of the simulation are correct?

UNC Chapel Hill Ming C. Lin Prairie Grass Animate prairie grass in real-time 3 LODs: Near, Medium, and Far Pre-compute physically-based wind effects, and implement with procedural wind effects “Animating Prairies in Real-Time” By F. Perbert and M.-P. Cani, Proc. of I3D 2001.

UNC Chapel Hill Ming C. Lin LODs Near – Geometric 3D model Medium –Volumetric texture mapped onto vertical polygon strips (“2.5D”) Far –Static 2D Texture

UNC Chapel Hill Ming C. Lin Transition: Near to Medium Volumetric texture for a patch of grass generated from the 3D model Linearly interpolate each blade of grass to its corresponding position on the texture map

UNC Chapel Hill Ming C. Lin Transition: Medium to Far Without hills, simple cross dissolve is sufficient, since the 2D texture is far away To improve appearance with hills, make 2.5 D texture polygons grow (vanish) from (into) the ground, while making the 2D texture vanish (appear)

UNC Chapel Hill Ming C. Lin Wind Primitives Types –Gentle Breeze –Gust –Whirlwind –Blast

UNC Chapel Hill Ming C. Lin Posture Range of motion for a blade of grass is computed using a physically-based model

UNC Chapel Hill Ming C. Lin Variation in Posture Index A constant wind starts blowing

UNC Chapel Hill Ming C. Lin Samples imagis.imag.fr/Membres/Frank.Perbet /prairie_dea/ imagis.imag.fr/Membres/Frank.Perbet /prairie_dea/

UNC Chapel Hill Ming C. Lin Speed QualityLowMediumHigh No. of blades per patch D distance range3m - 8m2m –12m3m – 20m No. Seg. Per grass blade348 Approx. nb. Blades per image 100,000500,0001,000,000 Frame rate on SGI O25 Hz4 Hz2 Hz Frame rate on ONYX25 Hz12.5 Hz8 Hz

UNC Chapel Hill Ming C. Lin View-dependent Culling of Dynamic Systems in VEs By S. Chenney and D. Forsyth Proc. of I3D 1997

UNC Chapel Hill Ming C. Lin Influence of Initial Conditions Strong – Viewer can predict state based on initial conditions accurately, so must simulate Medium – Viewer can make some qualitative predictions Weak – Viewer can make no predictions, but can have expectations of state, based on physical principles

UNC Chapel Hill Ming C. Lin - Angular position of platform on the track - Angular position of the car on the platform Parameters

UNC Chapel Hill Ming C. Lin Start State Platforms accelerate

UNC Chapel Hill Ming C. Lin Run State Motion in a steady state

UNC Chapel Hill Ming C. Lin Chaotic Behavior in Run State  For 2 cars whose initial conditions vary by 10° and 10°/s Very hard to predict state and, after 9 seconds of virtual time, state can be sampled from a probability density

UNC Chapel Hill Ming C. Lin Stop State Platforms slow down and stop

UNC Chapel Hill Ming C. Lin Decay State Cars are still in motion, and energy is decaying as a damped harmonic oscillator Once the car’s angular velocity has dropped far enough, we can use a linear model

UNC Chapel Hill Ming C. Lin Stationary State Everything is stationary

UNC Chapel Hill Ming C. Lin Re-entering View Determine which phase the tilt-a-whirl is in and find a state which matches the last observation In general, can integrate forward to get state For run state, can get state from probability distribution For decay state, can determine energy remaining in system, and choose state accordingly For stationary state, only one option

UNC Chapel Hill Ming C. Lin Building the Distribution Physically simulate the run state over a long time Create discrete cells corresponding to ranges of states At each step, increment a counter corresponding to the state the system is in The probability of being in a state i is

UNC Chapel Hill Ming C. Lin Simulation Cost

UNC Chapel Hill Ming C. Lin Bumper Car Parameters Position of each car on an elliptical track Orientation+angular velocity of each car Velocity of each car State for each car is given by

UNC Chapel Hill Ming C. Lin Simulation Use perturbed motion of 12 cars following an elliptical path Sample the position of each car independently If a collision occurs, move the cars so that they are farther apart, but their mutual center is maintained

UNC Chapel Hill Ming C. Lin Influence of Initial State The uncertainty of the state of each car grows with time, making it harder for a viewer to predict where the cars ought to be After sufficient time, the states of the car may be chosen from a distribution