Title: Efficient Bounds for PointBased Animations
1Efficient Bounds for Point-Based Animations
- Submitted to Point-Based Graphics 2007
- Denis Steinemann, Miguel Otaduy
2Overview
- Motivation
- Related Work
- Point-Based Animation, BVH
- Computing Bounds
- General
- Efficient evaluation
- Results
- Where to go next?
3Motivation
- Collision detection a key part of animation of
deformable objects - In general, still rather expensive
- Accelerate with spatial partioning, BVH
- Data structures must be updated to account for
deformation, cost depends on surface complexity
4Motivation
- In many deformation models, surface deformation
defined by small set of n degrees-of-freedom - Reduced linear deformations
- Skinning
- Low-res FEM
- Point-based animation
- Exploit it to update BVH in O(n)
5Related Work
- Reduced linear deformations (BD-Tree JPo4)
- p pUq
- Compute conservative bound per deformation field,
add them up ? tight only for low of def. fields - Linear-blend Skinning (KZ05)
- Few joints that define deformation
- Vertices convex combinations of joint transforms
- Exploit limited convex weights to get tight
bounds
6Related Work
- Low-res FEM (OGRG07)
- Surface embedded in tet mesh defining deformation
- Surface vertices convex combinations of
simulation nodes - Point-Based Animation (AKP05)
- Adaptation of BD-Tree
- Tightness depends on dofs
7Overview
- Motivation
- Related Work
- Point-Based Animation, BVH
- Computing Bounds
- General
- Efficient evaluation
- Results
- Where to go next?
8Point-Based Animation
- Elastic deformations derived from continuum
mechanics MKN04 - Deformation field defined at a discrete set of
simulation nodes - Position of a vertex/surfel
deformation field u
x
xu
simulation nodes xj
wkj in 0,1, add up to 1
vertices vk
9Point-Based Animation
- As wk is a vector of convex weights
- Deformed vertex convex combination of n affine
transforms of undeformed vertex
Aj
tj
10Bounding Volume Hierarchy
- Construction Initialization
- Use AABBs
- Top-down splitting in reference position
- For every AABB, store
- n influencing simulation nodes
- Do not store m vertices
- Center, extensions in ref. pos
- Max/min weight per node
11Bounding Volume Hierarchy
- Run-time update
- Usually bottom-up
- O(verts)
- On-demand (top-down)
- Update AABB before testing for intersection
- O(sim.nodes)
12Overview
- Motivation
- Related Work
- Point-Based Animation, BVH
- Computing Bounds
- General
- Efficient evaluation
- Results
- Where to go next?
13Computing Bounds
- Goal
- We want to tightly re-fit any AABB using only
information from simulation nodes and not the
surface itself
14Definitions
- Set of convex weights in Rn
15Definitions
- Definition 1 Transformed AABB
- Lemma 1 Transf. vertex bounded by transf. AABB
Parallelepiped def. by transformed corners
vk0
16Definitions
- Definition 2 Convex combination of AABBs
- Lemma 2 Convex combination of AABBs Bj
another AABB with extrema defined by same convex
combination of extrema of Bj
B1
B2
17Overview
- Motivation
- Related Work
- Point-Based Animation, BVH
- Computing Bounds
- General
- Efficient evaluation
- Results
- Where to go next?
18AABB-Refitting
Lemma 1
19AABB-Refitting
- Bounding a set of vertices
- Bound convex hull
- Finally,
From prev. slide
Swapping sums
20AABB-Refitting
- Bounding a set of vertices
- Bound convex hull
- Finally,
From prev. slide
Swapping sums
Simply another AABB! (Lemma 2)
21AABB-Refitting
- We could bound vertices in O(n) by computing
and simply bound them - Assuming
- Results in loose bounds
- Exploit
- cannot have any value in 0,1
- Bounded by
22Limited Convex Combinations
- Set of limited convex weights
- Is a subset of Wn and Rn
- Our vector of convex weights
23Limited Convex Combinations
- How does Wn look?
- Example for n3
1
0
1
0
1
24Limited Convex Weight Space
- Wn Limited Convex Weight Space
- Hyperplane of convex weights
- bounded by n sets of 2 parallel hyperplanes
- Can be represented as convex comb. of corners
Weight vectors of vertices
corner
25Constructing Corners
- Start with (n-1)-dim simplex representing Wn
- Cut off min-hyperplanes
- Results in a smaller (n-1)-d simplex
- Cut n corners of simplex with max-hyperplanes
- Cut n-1 lines meeting at corner ? n(n-1) corners
total - Each corner defined by 1 , (n-2) , 1x
n4
n3
n5
26Evaluating Corners
- Remember Corners simply represent some weight
vectors in - We could evaluate all corners and bound resulting
AABBs - Is related to what KZ05 do
- Would have to evaluate O(n2) corners ? too
expensive for our deformation model!
27Evaluating Corners
- Since we use AABB, were only interested in
extremes - Lemma 2 simply another AABB, where
- Our problem reduces to finding the two extreme
scalar (!) values along each axis x,y,z, using
extreme corners
28Evaluating Extreme Corners
29Evaluating Extreme Corners
30Evaluating Extreme Corners
Extreme corner
31Evaluating Extreme Corners
- Finally, evaluate extreme along
- Same for max/min, just switch signs
32Evaluating Extreme Corners
- It turns out that
- In Wn, weight vector of extreme corner along
direction is defined as - j1 and j2 indices of largest and second largest
values ? can be found in O(n)
33Algorithm Summary
- Given
- a set of m vertices (v1vm)
- bounded by AABB B0
- influenced by n simulation nodes
- Transform B0 with Tj for every node ? Bj
- Bound Bj with a new AABB
- For each direction x,y,z, find with the
largest extrema, evaluate bounds using extreme
corners
34Overview
- Motivation
- Related Work
- Point-Based Animation, BVH
- Computing Bounds
- General
- Efficient evaluation
- Results
- Where to go next?
35Results
36Results
37Results
- Scalability
- Evaluating root of BVH (in microsecs)
independent of surface complexity
O(n)
38Results
- Performance
- Colliding santas
39Results
40Conclusion
- Efficiently Update AABBs depending on dof of
deformation model - Tighter bounds than for previous approaches
- Collision detection with speed-up of more than
one order of magnitude
41Where to go next?
- Is the approach more general?
- Does it have to be convex comb. of affine
transforms? - Original BV can be any convex set
- We can transform corners of BV, will bound
transformed point - Find extreme along arbitrary direction in Rn
- Project point onto direction
- Results in convex combination of scalar values
42Where to go next?
- Corners, extreme corner evaluation
- Will this always work? Sort of proved it
- Relation to simplex algorithm?
- Problem of finding extrema of a limited convex
combination can be transformed to general LP - maximize
43Where to go next?
- General linear combinations
- Affine combinations?
- Any linear combination?
- Bound set of m points in Rn with convex polytope,
define them as convex combinations of polytope
corners - How many corners to transform?
- Will extreme corner evaluation still work?
- Examples RBF, PCA, Deformable Modelling,,?
44Where to go next?
- Self-collisions
- Can we exploit convexity in our approach to
efficiently prune BVH in collision queries? - Other applications
- Where we are interested in computing bounds using
reduced-dim space - Screen-space bounds? Projections?
- ???
45