Generierung von Partikeldatenstzen aus Oberflchennetzen mit Hilfe von Distanzfeldern - PowerPoint PPT Presentation

1 / 54
About This Presentation
Title:

Generierung von Partikeldatenstzen aus Oberflchennetzen mit Hilfe von Distanzfeldern

Description:

If the interpolated value is within/below a. user defined ... Interpolate distance and normal information at P from the distance field. f( P ) : Distance at P ... – PowerPoint PPT presentation

Number of Views:94
Avg rating:3.0/5.0
Slides: 55
Provided by: informati3
Category:

less

Transcript and Presenter's Notes

Title: Generierung von Partikeldatenstzen aus Oberflchennetzen mit Hilfe von Distanzfeldern


1
Generierung von Partikeldatensätzenaus
Oberflächennetzenmit Hilfe von Distanzfeldern
  • Daniel Fader
  • Lehrstuhl für Graphische Datenverarbeitung
  • Studienarbeit
  • 20. Mai 2008

2
References
  • FH04 Distance Transforms of Sampled
    Functions,Pedro F. Felzenszwalb, Daniel P.
    Huttenlocher,Cornell Computing and Information
    Science Technical Report TR2004-1963, 2004
  • SWT06 Robust Tetrahedral Meshing of Triangle
    Soups,Jonas Spillmann, Michael Wagner, Matthias
    Teschner,Eurographics / ACM SIGGRAPH Symposium
    on Computer Animation Posters and Demos,
    Vienna, Austria, pp. 1-2, Sep. 2-4, 2006
  • BYM05 Particle-Based Simulation of Granular
    Materials,Nathan Bell, Yizhou Yu, Peter J.
    Mucha,ACM SIGGRAPH / Eurographics Symposium on
    Computer Animation, 2005
  • WikTI Wikipedia Trilinear Interpolation
    http//en.wikipedia.org/wiki/Trilinear_interpolati
    on

3
Motivation
  • Consider a rigid body within a particle-based
    fluid simulation
  • Detect collisions of a particle (sphere) and a
    triangle

4
Motivation
  • Less involvedCollision detection of a sphere
    and another sphere
  • Represent surfacewith particles

lt2r ?
5
Outline
  • Signed Distance Field
  • Unsigned Distance Field
  • Sign Computation
  • Grid Method
  • Floaters Method
  • Results

6
Unsigned Distance Field
  • Subdivide the objetcs space into a regular grid
  • Abstracts from the original surface mesh

7
Unsigned Distance Field
  • Goal For each gridpoint calculate and save its
    (unsigned) distance to the surface
  • First Rasterize the object into the grid

Rasteri- zation
0-Level-Set (surface)
8
Unsigned Distance Field
  • Calculate the distance from each gridpointto the
    0-Level-Set
  • Perform Distance Transform (DT) as in FH04

DT
brightness distance
0-Level-Set
Initially 8
9
Signed Distance Field
  • The sign distinguishes gridpoints that describe
    the volume
  • Gridpoints inside the model have a negative sign

10
Signed Distance Field
  • Send rays through the grid
  • If ray intersects the surface odd times, change
    the sign of the following gridpoints
  • One axis aligned ray worksfor completely
    closedvolumes
  • Rays from multiple directionsas in SWT06
    detectpseudovolumes
  • Average the sign markedby all rays

11
Signed Distance Field
Pseudovolume
One Ray Misclassification
surface
outside
/
12
Signed Distance Field Summary
  • Use linear time DT from FH04 (correctness
    proved)
  • Calculate sign by transmitting rays through the
    grid
  • Sign correctly determined for most meshes in

outside
inside
model
13
Outline
  • Signed Distance Field
  • Grid Method
  • Floaters Method
  • Results

14
Grid Method
  • Signed distance field given
  • Walk through the distance field with step size
    radius
  • Observed positions in general do not match the
    gridpoints

distance field
?
15
Grid Method
  • Interpolate the distance value of the surrounding
    gridpoints
  • In 3D Use trilinear interpolation
  • If the interpolated value is within/below auser
    defined threshold
  • Set a surface/volume particle at the observed
    position

WikTI
16
Grid Method Summary
  • Works completely on the distance field
  • Observes positions at fixed intervals
  • Depends on the user defined threshold
  • Linear runtime

Grid method
17
Outline
  • Signed Distance Field
  • Grid Method
  • Floaters Method
  • Extended Distance Field
  • Results

18
Floaters Method
  • ?Surface Particle Generation from BYM05
  • To more closely match the surface let particles
    ?float on it
  • First place particles randomly on the surface
  • Then let particles repel each other and constrain
    them to the surface
  • ?Floaters are particles with additional velocity
    information

19
Floaters Method
  • Floating iteration

20
Floaters Method
  • For each surface triangle t placefloaters on
    it with D User defined density value A
    Area of t r Radiususing random barycentric
    coordinates

radius
21
Floaters Method
  • Repulsion VR
  • For each floater P find neighboring particles S
  • Repel P from all Pi ? S
  • Determining S takes quadratic runtime

P Examined floater Pi Neighboring
floater S Set of neighboring floaters
K Kernel function
radius
22
Floaters Method
  • Feedback VF
  • Move every floater back on the 0-Level-Set
    (surface)
  • Interpolate distance and normal information at P
    from the distance field

distance field
f( P ) Distance at P N Normal at P
0-Level-Set
23
Outline
  • Signed Distance Field
  • Grid Method
  • Floaters Method
  • Extended Distance Field
  • Results

24
Extended Distance Field
  • Extend the distance field by normal information
  • The direction from each gridpoint to the
    0-Level-Set

distance field
0-Level-Set
25
Extended Distance Field
  • For each gridpoint
  • Find nearest gridpoint in the 0-Level-Set
  • Very time-consuming

26
Extended Distance Field
  • Spatial partitioning approach
  • Subdivide the distance field into the SPG (spat.
    part. grid)
  • Save a list of surface gridpoints for each voxel
    in SPG

27
Extended Distance Field
  • Compare with surface gridpoints in the same voxel
    in SPG
  • Also survey neighboring voxels
  • Point to the nearest surface gridpoint(s) found

?
28
Extended Distance Field
  • Approximate normal if no surface gridpoints lie
    in the neighborhood of a voxel v
  • All normals in v point to the nearest voxel that
    contains surface gridpoints
  • Usually particles floatnearby the surface

?
29
Extended Distance Field Summary
  • Preprocessing step
  • Reduce the search space speedup about factor 30
  • Distance and direction to surface known for every
    gridpoint

30
Outline
  • Signed Distance Field
  • Grid Method
  • Floaters Method
  • Results

31
Floaters Method
  • Velocities terms VR and VF can now be evaluated
  • Float until surface is evenly covered

32
Floaters Method Summary
  • Particles are randomly spread and permitted to
    float
  • Floaters repel each other
  • Floaters are constrained to the surface
  • User defines density and number of iterations
  • Repulsion calculated in O(n2)

Floaters method
33
Outline
  • Signed Distance Field
  • Grid Method
  • Floaters Method
  • Results

34
Results
  • Humanoid, radius 0.48

20
Grid, 1271 particles
Floaters, 1602 particles
35
Results
  • Pyramid, radius 0.03

1
Grid, 2918 particles
Floaters, 3800 particles
36
Results
  • Cow, radius 0.1

4
Grid, 1382 particles
Floaters, 1359 particles
37
Results
  • Holey Gourd, radius 0.1

3.2
Grid, 1378 particles
Floaters, 1212 particles
38
Results
  • Demo Stanford Bunny

39
Summary
  • Grid method
  • Fast
  • Only one paramter
  • Minimal number of particles on axis aligned
    surfaces
  • Floaters method
  • Quadratic runtime, several iterations
  • User more involved
  • High precision
  • Future work
  • Normals attached to particles
  • Faster repulsion calculation

40
The end
  • Thank you for your interest
  • and for paying attention!

41
Unsigned Distance Field
Appendum
  • Distance Transformby Felzenszwalb and
    Huttenlocher FH04
  • Defined on a onedimensional grid G 0, ...,
    n-1
  • The distance is determined by a cost function f
  • Initially

42
Unsigned Distance Field
Appendum
  • For each gridpoint pi
  • f(pi) is the squared euclidean distance from pi
    to the surface
  • Place a standard parabola at (pi, f(pi))
  • The final value of f(pi) is determined by the
    lower envelope of parabolas at each surface
    gridpoint

G
43
Unsigned Distance Field
Appendum
  • Lower envelope calculation is the main part of
    the DT
  • Using two arrays it can be done in O(n)
  • A higher dimensional DT simply performs the1D
    Transform along each axis
  • DT of a three dimensional gridG 0, , n-1
    0, , m-1 0, , k-1 in O(3nmk)

44
Unsigned Distance Field
Appendum
Algorithm Onedimensional DTwith linear runtime
FH04
45
Signed Distance Field
Appendum
  • Use rays to separate inside from outside
  • If ray intersects the surface odd times, change
    the sign of the following gridpoints
  • One axis aligned ray

surface
inside
outside
46
Signed Distance Field
Appendum
  • Using only rays with one direction may cause
    misclassification

inside
outside
47
Signed Distance Field
Appendum
  • Use multiple directions as in SWT06
  • Average the sign marked by all rays

48
Signed Distance Field
Appendum
  • Rays from 26 directions (3D)
  • Complexity O(26nmk)

49
Signed Distance Field
Appendum
  • Misclassification at meshes with intersecting
    volumes

DT outside
50
Signed Distance Field
Appendum
  • Misclassification at faces with no volume

DT inside
51
Floaters Method
Appendum
  • Calculate two velocities for each floater in a
    user defined number of floating iterations
  • Repulsion VR
  • Repels the particles from each other to evenly
    spread them over the surface
  • Feedback VF
  • Constrains the particles to the surface

52
Floaters Method
Appendum
  • Velocities terms VR and VF can now be evaluated
  • One iteration for Floater P
  • First calculate and apply repulsion
  • Then interpolate distance and normal and apply
    feedback
  • Examine next floater

,
,
53
Results
Appendum
DT
Volume
Holey surface mesh
54
Grid vs. Floaters
Appendum
  • Grid
  • O(n)
  • Minimal on axis
  • aligned surfaces
  • Treshold
  • Floaters
  • O(n2)
  • Too many on plain surfaces
  • good at round structures
  • Density, time steps,
  • of iterations
  • Runtime
  • of Particles
  • Parameters
Write a Comment
User Comments (0)
About PowerShow.com