Craig Schroeder October 26, 2004

Slides:



Advertisements
Similar presentations
TEL-AVIV UNIVERSITY FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric Average of Two Simple Polygons.
Advertisements

November 12, 2013Computer Vision Lecture 12: Texture 1Signature Another popular method of representing shape is called the signature. In order to compute.
Applications of Euler’s Formula for Graphs Hannah Stevens.
I. The Problem of Molding Does a given object have a mold from which it can be removed? object not removable mold 1 object removable Assumptions The object.
By Groysman Maxim. Let S be a set of sites in the plane. Each point in the plane is influenced by each point of S. We would like to decompose the plane.
Tutorial 2 – Computational Geometry
1 Computer Graphics Chapter 7 3D Object Modeling.
Voronoi Diagram Presenter: GI1 11號 蔡逸凡
Query Processing in Databases Dr. M. Gavrilova.  Introduction  I/O algorithms for large databases  Complex geometric operations in graphical querying.
Discrete geometry Lecture 2 1 © Alexander & Michael Bronstein
Computational Geometry and Spatial Data Mining
Offset of curves. Alina Shaikhet (CS, Technion)
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
By Dor Lahav. Overview Straight Skeletons Convex Polygons Constrained Voronoi diagrams and Delauney triangulations.
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2007 Chapter 5: Voronoi Diagrams Wednesday,
UMass Lowell Computer Science Advanced Algorithms Computational Geometry Prof. Karen Daniels Spring, 2004 Chapter 5: Voronoi Diagrams Monday, 2/23/04.
1 Geometry A line in 3D space is represented by  S is a point on the line, and V is the direction along which the line runs  Any point P on the line.
Clustering Color/Intensity
Complex Model Construction Mortenson Chapter 11 Geometric Modeling
Notes, part 4 Arclength, sequences, and improper integrals.
1 Numerical geometry of non-rigid shapes Non-Euclidean Embedding Non-Euclidean Embedding Lecture 6 © Alexander & Michael Bronstein tosca.cs.technion.ac.il/book.
The Art Gallery Problem
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2014.
Delaunay Triangulations Presented by Glenn Eguchi Computational Geometry October 11, 2001.
CSE53111 Computational Geometry TOPICS q Preliminaries q Point in a Polygon q Polygon Construction q Convex Hulls Further Reading.
A Navigation Mesh for Dynamic Environments Wouter G. van Toll, Atlas F. Cook IV, Roland Geraerts CASA 2012.
9/7/06CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2006 Triangulations and Guarding Art Galleries Carola Wenk.
Surface Simplification Using Quadric Error Metrics Michael Garland Paul S. Heckbert.
Rendering Implicit Plots. What is an Implicit Plot? An implicit plot is a plot of all the points satisfying equation:  f(x,y) = 0 (for some function.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
TEL-AVIV UNIVERSITY RAYMOND AND BEVERLY SACKLER FACULTY OF EXACT SCIENCES SCHOOL OF MATHEMATICAL SCIENCES An Algorithm for the Computation of the Metric.
Heterogeneous Porosity Modeling Craig Schroeder May 13, 2004.
CSE554SimplificationSlide 1 CSE 554 Lecture 7: Simplification Fall 2013.
Center for Graphics and Geometric Computing, Technion 1 Computational Geometry Chapter 8 Arrangements and Duality.
CAP4730: Computational Structures in Computer Graphics
CSE554Fairing and simplificationSlide 1 CSE 554 Lecture 6: Fairing and Simplification Fall 2012.
Solid Modeling. Solid Modeling - Polyhedron A polyhedron is a connected mesh of simple planar polygons that encloses a finite amount of space. A polyhedron.
1  Problem: Consider a two class task with ω 1, ω 2   LINEAR CLASSIFIERS.
Using the Power Diagram to Computing Implicitly Defined Surfaces Michael E. Henderson IBM T.J. Watson Research Center Yorktown Heights, NY Presented at.
UNC Chapel Hill M. C. Lin Computing Voronoi Diagram For each site p i, compute the common inter- section of the half-planes h(p i, p j ) for i  j, using.
UNC Chapel Hill M. C. Lin Delaunay Triangulations Reading: Chapter 9 of the Textbook Driving Applications –Height Interpolation –Constrained Triangulation.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
Reconstructing Porous Structures from a Statistical Representation Craig Schroeder CSGSC October 6, 2004.
Outline ● Introduction – What is the problem ● Generate stochastic textures ● Improve realism ● High level approach - Don't just jump into details – Why.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Polygon Triangulation
VORONOI DIAGRAMS BY KATHARINE TISCHER Coordinating Seminar Spring 2013.
Introduction to Parametric Curve and Surface Modeling.
CS552: Computer Graphics Lecture 28: Solid Modeling.
1 CHAP 3 WEIGHTED RESIDUAL AND ENERGY METHOD FOR 1D PROBLEMS FINITE ELEMENT ANALYSIS AND DESIGN Nam-Ho Kim.
CMPS 3130/6130 Computational Geometry Spring 2017
Computer Graphics Filling.
Advanced Computer Graphics
Distance Computation “Efficient Distance Computation Between Non-Convex Objects” Sean Quinlan Stanford, 1994 Presentation by Julie Letchner.
Haim Kaplan and Uri Zwick
Constructing Objects in Computer Graphics By Andries van Dam©
Query Processing in Databases Dr. M. Gavrilova
Fitting Curve Models to Edges
Localizing the Delaunay Triangulation and its Parallel Implementation
The Art Gallery Problem
© University of Wisconsin, CS559 Spring 2004
The Art Gallery Problem
Computer Vision Lecture 16: Texture II
CSCE 441 Computer Graphics: Clipping Polygons Jinxiang Chai
I. The Problem of Molding
Computational Geometry
Introduction to Parametric Curve and Surface Modeling
Computer Vision Lecture 19: Object Recognition III
Clustering.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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?

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

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

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