An Efficient Central Path Algorithm For Virtual Navigation Parag Chaudhuri, Rohit Khandekar, Deepak Sethi, Prem Kalra Vision and Graphics Group, Department of Computer Science and Engineering, Indian Institute of Technology Delhi. Computer Graphics International 2004 Crete, Greece. 18 th June, 2004.
Slide 2 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Motivation Navigation in virtual environments is needed in many applications such as Virtual Surgery Automatic flight planning Computer games
Slide 3 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi The Problem Given a three dimensional closed object and two points in the interior, find a path connecting those two points that Lies completely inside the object Stays away from the boundary Has short length
Slide 4 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Background Topological thinning Pavlidis 1980, Paik et. al. 1998, Ge et. al. 1999, Bouix et. al. 2003, Telea & Vilanova 2003 Potential field based methods Hong 1995, Deschamps & Cohen 2001 Distance field based methods Bitter et. al. 2001, Wan et. al. 2001
Slide 5 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Distance From Boundary (DFB) Distance of a point from the nearest boundary. Different measures of distance – Euclidean, City-block, Champher. Find a path such that sum of DFB field at all points on the path is maximized.
Slide 6 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Our Approach Compute DFB field for a hierarchical subdivision as opposed to computing DFB for the entire object at the finest resolution.
Slide 7 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Hierarchical Subdivision Enclose the object in a bounding box
Slide 8 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Subdivide the box into four equal parts Hierarchical Subdivision
Slide 9 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Keep subdividing the smaller parts till they are intersecting with the boundary of the object. Hierarchical Subdivision
Slide 10 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi The smallest size boxes are the voxels with size 1. Size of a block b (size(b)) is the number of voxels on its side. Hierarchical Subdivision
Slide 11 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi DFB Field Computation
Slide 12 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi DFB Field Computation We compute the DFB for the cells by running a shortest path algorithm from the boundary to all the cells.
Slide 13 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Path Computation We can find the path between any two points by running a shortest path algorithm on the graph formed by the cells. An edge between blocks b 1 and b 2 in the graph is now given a weight w as W(b 1,b 2 )=1/dfb(b 1 )+1/dfb(b 2 )
Slide 14 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Path Computation The algorithm returns a path in terms of connected blocks.
Slide 15 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Path Computation A path is obtained by joining the centres of the blocks.
Slide 16 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Path Smoothening Corner CuttingSplines
Slide 17 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Result - Flythrough
Slide 18 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Result – Computational Complexity It is proved that the number of voxels formed in the final subdivision are O(n+hk) n : number of voxels on the boundary. h : number of holes in the object. k : number of levels of subdivision. The running time is O((n+hk)log(n+hk))
Slide 19 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Result – Computational Complexity
Slide 20 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi The Progressive Algorithm We usually do not need to compute the DFB for the entire object. The extraneous volume for which the DFB is computed becomes a bottleneck at times.
Slide 21 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi The Progressive Algorithm Subdivide the region into coarse grid. Choose a Region Of Interest (ROI) which contains the source and destination. Compute the path for this ROI.
Slide 22 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi The Progressive Algorithm Grow the ROI and recompute the path. Continue growing until the change in path length falls below a threshold.
Slide 23 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Results - Flythrough
Slide 24 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Results – Running Time
Slide 25 Vision and Graphics Group, Department of Computer Science and Engineering, IIT Delhi Conclusion DFB/Path computation is fast. Paths of multiple resolutions. Scaling the input does not adversely affect the computation time. The subdivision grid also aids in View Culling while rendering. Progressive extension makes it more efficient.