Heuristics for 3D model decomposition Presented by Luv Kohli COMP258 December 11, 2002.

Slides:



Advertisements
Similar presentations
Chapter 5: Tree Constructions
Advertisements

Cuts, Trees, and Electrical Flows Aleksander Mądry.
Alpha Shapes. Used for Shape Modelling Creates shapes out of point sets Gives a hierarchy of shapes. Has been used for detecting pockets in proteins.
Lindsey Bleimes Charlie Garrod Adam Meyerson
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal.
Size-estimation framework with applications to transitive closure and reachability Presented by Maxim Kalaev Edith Cohen AT&T Bell Labs 1996.
Graphs COP Graphs  Train Lines Gainesville OcalaDeltona Daytona Melbourne Lakeland Tampa Orlando.
Informed Search Methods How can we improve searching strategy by using intelligence? Map example: Heuristic: Expand those nodes closest in “as the crow.
Graph Theory, DFS & BFS Kelly Choi What is a graph? A set of vertices and edges –Directed/Undirected –Weighted/Unweighted –Cyclic/Acyclic.
CSE 2331/5331 Topic 11: Basic Graph Alg. Representations Undirected graph Directed graph Topological sort.
ICS-171:Notes 4: 1 Notes 4: Optimal Search ICS 171 Summer 1999.
CS 206 Introduction to Computer Science II 11 / 07 / 2008 Instructor: Michael Eckmann.
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.
Introduction to Collision Detection & Fundamental Geometric Concepts Ming C. Lin Department of Computer Science University of North Carolina at Chapel.
DESIGN OF A GENERIC PATH PATH PLANNING SYSTEM AILAB Path Planning Workgroup.
CSE 872 Dr. Charles B. Owen Advanced Computer Graphics1 Basic 3D collision detection We want to know if objects have touched Objects are considered to.
Haptic Rendering using Simplification Comp259 Sung-Eui Yoon.
CISC October Goals for today: Foster’s parallel algorithm design –Partitioning –Task dependency graph Granularity Concurrency Collective communication.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Wireless Sensor Networks 21st Lecture Christian Schindelhauer.
Recent Development on Elimination Ordering Group 1.
Advanced Topics in Algorithms and Data Structures 1 Lecture 4 : Accelerated Cascading and Parallel List Ranking We will first discuss a technique called.
UNC Chapel Hill M. C. Lin References Collision Detection between Geometric Models: A Survey, by M. Lin and S. Gottschalk, Proc. of IMA Conference on Mathematics.
University of CreteCS4831 The use of Minimum Spanning Trees in microarray expression data Gkirtzou Ekaterini.
CS 206 Introduction to Computer Science II 11 / 10 / 2008 Instructor: Michael Eckmann.
CS 326 A: Motion Planning robotics.stanford.edu/~latombe/cs326/2004/index.htm Collision Detection and Distance Computation: Feature Tracking Methods.
COMP171 Depth-First Search.
EA* A Hybrid Approach Robbie Hanson. What is it?  The A* algorithm, using an EA for the heuristic.  An efficient way of partitioning the search space.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
reconstruction process, RANSAC, primitive shapes, alpha-shapes
Blind Search-Part 2 Ref: Chapter 2. Search Trees The search for a solution can be described by a tree - each node represents one state. The path from.
Depth-first search COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar to pre-order.
Efficient Distance Computation between Non-Convex Objects By Sean Quinlan Presented by Sean Augenstein and Nicolas Lee.
CS 326A: Motion Planning ai.stanford.edu/~latombe/cs326/2007/index.htm Collision Detection and Distance Computation.
Depth-First Search Lecture 24 COMP171 Fall Graph / Slide 2 Depth-First Search (DFS) * DFS is another popular graph search strategy n Idea is similar.
Lecture 13 CSE 331 Oct 2, Announcements Mid term in < 2 weeks Graded HW2 at the END of the class.
The Art Gallery Problem
Improved results for a memory allocation problem Rob van Stee University of Karlsruhe Germany Leah Epstein University of Haifa Israel WADS 2007 WAOA 2007.
On-line Space Sculpturing for 3D Shape Manipulation
1 Time Analysis Analyzing an algorithm = estimating the resources it requires. Time How long will it take to execute? Impossible to find exact value Depends.
Probabilistic Roadmaps for Path Planning in High-Dimensional Configuration Spaces (1996) L. Kavraki, P. Švestka, J.-C. Latombe, M. Overmars.
P ROBLEM Write an algorithm that calculates the most efficient route between two points as quickly as possible.
An Optimal Cache-Oblivious Priority Queue and Its Applications in Graph Algorithms By Arge, Bender, Demaine, Holland-Minkley, Munro Presented by Adam Sheffer.
PRESENTED BY – GAURANGI TILAK SHASHANK AGARWAL Collision Detection.
COMP261 Lecture 6 Dijkstra’s Algorithm. Connectedness Is this graph connected or not? A Z FF C M N B Y BB S P DDGG AA R F G J L EE CC Q O V D T H W E.
Lecture 3: Uninformed Search
Supporting Top-k join Queries in Relational Databases Ihab F. Ilyas, Walid G. Aref, Ahmed K. Elmagarmid Presented by: Z. Joseph, CSE-UT Arlington.
1 Branch and Bound Searching Strategies Updated: 12/27/2010.
Domain decomposition in parallel computing Ashok Srinivasan Florida State University.
Ricochet Robots Mitch Powell Daniel Tilgner. Abstract Ricochet robots is a board game created in Germany in A player is given 30 seconds to find.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2015.
CSE554Contouring IISlide 1 CSE 554 Lecture 3: Contouring II Fall 2011.
CSE554Contouring IISlide 1 CSE 554 Lecture 5: Contouring (faster) Fall 2013.
CSE332: Data Abstractions Lecture 28: Course Wrap-up Tyler Robison Summer
01/28/09Dinesh Manocha, COMP770 Visibility Computations Visible Surface Determination Visibility Culling.
Large Scale Parallel Graph Coloring 1. Presentation Overview Problem Description Basic Algorithm Parallel Strategy –Work Spawning –Graph Partition Results.
9/8/10CS 6463: AT Computational Geometry1 CS 6463: AT Computational Geometry Fall 2010 Triangulations and Guarding Art Galleries Carola Wenk.
Interactive Continuous Collision Detection for Polygon Soups Xin Huang 11/20/2007.
Learning Hidden Graphs Hung-Lin Fu 傅 恆 霖 Department of Applied Mathematics Hsin-Chu Chiao Tung Univerity.
Real-Time Hierarchical Scene Segmentation and Classification Andre Uckermann, Christof Elbrechter, Robert Haschke and Helge Ritter John Grossmann.
Polygon Triangulation
Autonomous Robots Robot Path Planning (2) © Manfred Huber 2008.
Minkowski Sums and Distance Computation Eric Larsen COMP
1 R-Trees Guttman. 2 Introduction Range queries in multiple dimensions: Computer Aided Design (CAD) Geo-data applications Support special data objects.
CSE 554 Lecture 5: Contouring (faster)
Polygonal Curve Simplification
References Additional lecture notes for 2/18/02.
C-obstacle Query Computation for Motion Planning
References Collision Detection between Geometric Models: A Survey, by M. Lin and S. Gottschalk, Proc. of IMA Conference on Mathematics of Surfaces 1998.
COMP171 Depth-First Search.
Presentation transcript:

Heuristics for 3D model decomposition Presented by Luv Kohli COMP258 December 11, 2002

What is convex decomposition? Technique to split up arbitrary polyhedra into convex pieces Many calculations are far easier between convex objects –Collision detection, penetration depth, etc.

How is it done? Two broad categories –Convex solid decomposition Has output of size O(n 2 ) – impractical –Convex surface decomposition Complexity O(r), where r is the number of reflex edges

Convex surface decomposition Space partitioning Space sweep Flooding –Traverse the dual graph of the surface –Start at some node and collect facets as long as they form a convex patch

Chazelle, et al. Flood and Retract

Decomposition in SWIFT++ Essentially a flooding algorithm using DFS or BFS Uses “cresting” algorithm to determine seed faces –Start growing from faces furthest away from reflex edges

Decomposition in SWIFT++

Cresting The cresting technique attempts to minimize the number of pieces by allowing them to grow as large as possible There may be other decomposition algorithms that provide better results for certain applications Equal-sized pieces?

Alg1 – Reverse (& Fwd) cresting Uses the same technique of finding distance from reflex edges (with minor modifications) Prioritizes seed faces in reverse –Lets smaller pieces grow first so they are not overwhelmed by larger ones

Alg2 – Reverse (& Fwd) flooding Uses potential piece sizes instead of distances from reflex edges –For each unvisited face, flood (grow) while the current piece is still convex –When growing ceases, record the piece size for use as priority

Alg3 – Flooding w/ surface area Use surface area of flooded pieces to prioritize growing Same idea as before but with different input to the graph traversal algorithm

Other ideas Use some threshold value to stop piece growing –Try to keep pieces around the same size Grow in parallel –Issues with determining how many pieces to grow from simultaneously

Future work Run rigorous timing tests with SWIFT++ to determine if different decomposition methods have an effect on collision detection Combination of decomposition methods?

References Ehmann, Stephen A., Lin, Ming C. Accurate and Fast Proximity Queries Between Polyhedra Using Convex Surface Decomposition, EUROGRAPHICS Chazelle, B. et al. Strategies for polyhedral surface decomposition: An experimental study, Comp. Geom. Theory Appl., 7: , Chazelle, B. Convex Partitions of Polyhedra: A Lower Bound and Worst-Case Optimal Algorithm, SIAM J. Comp., Vol. 13, No. 3, August Bajaj, C. L., Dey, T. K., Convex Decomposition of Polyhedra and Robustness, SIAM J. Comp., Vol. 21, No. 2, April 1992.