Download presentation
Presentation is loading. Please wait.
Published byDwayne Bridges Modified over 8 years ago
1
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 University of North Carolina at Chapel Hill {obrien, sfisher, lin}@cs.unc.edu http://www.cs.unc.edu/~geom/SLOD
2
UNC Chapel Hill David A. O’Brien 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
3
UNC Chapel Hill David A. O’Brien Introduction: Motivation Real-time Virtual Environments and Video Games Increasingly use particle systems and physically based simulations Despite recent advances in Graphics Hardware, still can not simulate complex dynamical systems in real time. Goal: Reduce Cost of Dynamics Computations through Simulation Acceleration Techniques Analogous to Model Simplification and Rendering Time. Maintain Consistent Frame Rates for Simulations
4
UNC Chapel Hill David A. O’Brien Previous Work Long history of work in Model Simplification and Geometric 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 Many others.
5
UNC Chapel Hill David A. O’Brien 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: Particles exert force on each other Astronomical Simulation, Potential Calculations n 2 interactions, reduced to O(n lg n) with heuristics such as Barnes-Hut Algorithm.
6
UNC Chapel Hill David A. O’Brien Simplifying a Particle System: Simulation Level of Detail (SLOD)
7
UNC Chapel Hill David A. O’Brien Group into Clusters: Simulation Level of Detail (SLOD)
8
UNC Chapel Hill David A. O’Brien Calculated Weighted Center of Mass Position: Simulation Level of Detail (SLOD)
9
UNC Chapel Hill David A. O’Brien Calculated Weighted Center of Mass Velocity: Simulation Level of Detail (SLOD)
10
UNC Chapel Hill David A. O’Brien Apply Dynamics Engine to the just the Center of Masses: Simulation Level of Detail (SLOD)
11
UNC Chapel Hill David A. O’Brien Update particles to match movement of Center of Masses: Simulation Level of Detail (SLOD)
12
UNC Chapel Hill David A. O’Brien 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
13
UNC Chapel Hill David A. O’Brien 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 These are all LOOSE CONSTRAINTS.
14
UNC Chapel Hill David A. O’Brien How to Cluster? Uniform Grids: Fast placement and lookup Uneven particle sizes Quad-Trees: Adaptive, good clustering O(n lg n) cost too high
15
UNC Chapel Hill David A. O’Brien Physically-based Hybrid Subdivision Base is a uniform grid Gives pretty good insertion and query speed When needed, subdivide as a Kd-tree. Maximum Cluster Breadth
16
UNC Chapel Hill David A. O’Brien 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
17
UNC Chapel Hill David A. O’Brien 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
18
UNC Chapel Hill David A. O’Brien 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
19
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
20
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
21
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
22
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
23
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
24
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2
25
UNC Chapel Hill David A. O’Brien Smooth SLOD Switching Only update clusters when they move out of their cell. Max Cluster Size switches from 4 to 2 Only changed the SLOD parameters
26
UNC Chapel Hill David A. O’Brien 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
27
UNC Chapel Hill David A. O’Brien 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
28
UNC Chapel Hill David A. O’Brien 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
29
UNC Chapel Hill David A. O’Brien Results: Regions of Interest
30
UNC Chapel Hill David A. O’Brien Results: Changing ROIs
31
UNC Chapel Hill David A. O’Brien 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 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.
32
UNC Chapel Hill David A. O’Brien Error Analysis Error in a particle system is 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.
33
UNC Chapel Hill David A. O’Brien Results: Frame Rates
34
UNC Chapel Hill David A. O’Brien Results: Frame Rates
35
UNC Chapel Hill David A. O’Brien Future Work Can this approach or similar ideas be generalized to other dynamical systems? Automatic Determination of ROIs. Particle based Cloth Simulations. Error analysis. Can we ensure that the Macro Integrity and results of the simulation are correct?
36
UNC Chapel Hill David A. O’Brien FAQ Why separate trees for each ROI? “Why don’t you try ________ there to make the clusters look better?” What’s the break even point? Don’t you have to sort your particles to do a K-d split? Why is it so slow? What’s the error? Why is the frame rate so bumpy?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.