Presentation is loading. Please wait.

Presentation is loading. Please wait.

Craig Schroeder October 26, 2004

Similar presentations


Presentation on theme: "Craig Schroeder October 26, 2004"— Presentation transcript:

1 Craig Schroeder October 26, 2004
Representation and Reconstruction of Porous Objects using Deformable Models Craig Schroeder October 26, 2004

2 Outline Problem General Approach Implementation Further Work
Measuring Distribution Determining Next Move Further Work

3 Problem Generate a 3D porous object in layers
Given properties desired at each layer Given a seed layer

4 Constraints on Output Adjacent layers should be connected
Adjacent layers should be “similar” No disconnected material or pore

5 General Approach Same basic layerwise goals
Start with a seed layer Modify each layer to obtain the next layer Use spherical contact distribution

6 Internal Representation
Do not use voxels Use a set of polygons Polygons are disjoint Polygons are “swept” from layer to layer Polygons may merge or split No plans for insertion or deletion of polygons at this time

7 Deformable Models Use deformable models
Currently used in computer graphics and computer vision Used for picking out outlines of objects from 3D data Find the boundary of organs in the body

8 Deformable Models Can be represented as a closed polygon or set of polygons Deformed by moving vertices Move in direction of local normal Normal at vertex is the average of the norms of the two edges beside it May move vertex inward or outward

9 Overview of Algorithm For each layer
Start with previous layer (seed first time) While layer is not close enough to properties Measure the distribution Determine how the layer should change to improve the fit Update the layer “Stitch” the layer together with the previous layer to create a band of triangles Output the resulting mesh

10 Measuring the Distribution
Must determine the spherical contact distribution of a layer Quite a bit more difficult than for voxels Requires a tradeoff of time and difficulty

11 Idea There are not a finite number of elements Problems
Sample the area Compute the distance for each element Accumulate into the distributions Problems Computing the distance from a particular point is not easy Only approximate Getting a good approximation may take too long

12 Exact Computation Compute the distribution exactly
More difficult to implement More efficient Exact measurement is possible

13 Breaking Up the Problem
Break the layer into a Voronoi diagram Splits the layer into tiles Each tile contains all points closer to one vertex than any other Cheap to compute – O(n log n)

14 Benefits of Voronoi Can compute spherical contact distribution of a tile independently of all other tiles Sites are convex – makes life easier Tiles are on average of constant size

15 Complication We want this to wrap
This changes the topology of space and causes problems Solution – make eight copies of everything around yourself, compute the diagram, and throw everything else out

16 Properties of a Tile Tile contains points inside and outside
Some points are actually closer to an edge of the polygon than it the tile’s site Makes it a bit tricky to measure distribution

17 Split the Tile Split a Voronoi tile into regions
Is the point inside the polygon or outside? Is the point closest to the site, the entering polygon edge, or the leaving polygon edge? Six regions: in-site, in-enter, in-leave, out-site, out-enter, out-leave

18 About the Regions In-site or out-site must be empty
Both empty of both edges collinear Each region is easier to measure since the nearest object is known

19 Measuring Edge Region Perform a line sweep
Sweep a line from the edge on the polygon across the region Collect area in each bucket as we go

20 Sweep Events Vertices The sweep encounters a discontinuity at each vertex in the region and needs an event here

21 Sweep Events Bin boundaries
The region is being divided into areas according to its distance. Where a bin boundary occurs, the bin receiving credit for the area changes, so an event is needed

22 At Each event Compute area bounded by Sweep line at previous event
Sweep line at new event Sides of region Region is convex, so there is one area per event Update the appropriate bin by that area

23 Measuring Site Region In-site or Out-site Perform a “line sweep”
Since the distance is to a point, the fronts are actually circular arcs Has same vertex and bin events

24 Additional Event We need another type of event
Each point where the circular front is tangent to the region is an event This event results in multiple areas per event Not “monotone” with respect to a circle

25 Combine the Pieces Sum up the contributions to each bin for each region and tile Divide accumulated area by total area

26 Determining Change We need to know how a change in vertex affects the distribution Compute a “derivative” of the distribution with respect to a change in each vertex

27 Distribution Derivative
Compute the distribution Offset site face slightly Recompute Subtract and divide by offset Approximate, but good enough

28 Computing Change Consider G as the goal distribution for the current layer, arranged in a vector Let M be the measured distribution Let D be the matrix whose columns are the derivatives as vectors Di xi is the approximate change in current distribution where a change xi is made to vertex with derivative Di

29 Computing Change D x is the sum of the change resulting from offsetting each vertex by the corresponding amount in vector x M + D x is approximately the new distribution that would result We want M + D x = G Least squares Minimize norm of M + D x - G

30 Making the Move Solve the least squares problem for x
Components of x tell how much to move corresponding vertices Apply the offset

31 Potential Problems What if two polygons intersect as a result of this move? Unite the polygons into one (merge) What if a polygon intersects itself? Split the polygon up into simple pieces What if a polygon wraps around the layer? This is a problem; will it happen?

32 Converge Will this converge? Do not know, not able to run tests yet
Intuition If the current configuration is not too far off, it should converge quickly If far off, it will get caught in a local minimum Distribution should not change much from layer to layer, so this may not be a huge problem

33 Future Work Finish !! Consider insertion and deletion of polygons
Consider ways to leave local minima; insertion and deletion might be useful for this

34 Future Work Do this in 3D The Voronoi decomposition is still applicable here, as is the tiling workaround Many more regions Closest to site, edge, or face Sweeps will be similar, but much uglier and harder to implement No layering necessary Entire problem in one run


Download ppt "Craig Schroeder October 26, 2004"

Similar presentations


Ads by Google