300 likes | 442 Vues
Bernhard Kornberger Institute for Software Technology, TU Graz. Approximating Solids by Balls (in collaboration with subproject: "Applications of Higher Geometrics"). Overview. Motivation: Definition of the Minkowski addition An application for Minkowski sums Approximation
E N D
Bernhard Kornberger Institute for Software Technology, TU Graz Approximating Solids by Balls(in collaboration with subproject: "Applications of Higher Geometrics")
Overview • Motivation: • Definition of the Minkowski addition • An application for Minkowski sums • Approximation • A technique to approximate solids by balls
Definition of theMinkowski Addition • The Minkowski sum of two point sets A and B in Euclidean space is the result of adding every point of A to every point of B: B AB A
One Application of Minkowski Sums P • Motion Planning: Find the shortest path for a robot R through the obstacles P. • Solution: Compute the Minkowski sum RP and thereby fatten the obstacles. This reduces the problem to moving a POINT from the start to the goal using a standard shortest-path algorithm P R
Minkowski Additionof two Solids • In our case the surface of a solid is given by a dense 3dimensional point cloud which is triangulated.
Minkowski Additionof two Solids • In our case the surface of a solid is given by a dense 3dimensional point cloud which is triangulated. • We replace this representation by an approximation using balls. The Minkowski addition of two primitive elements is easy now: Just the radii and the centers of the balls have to be added.
Our Attempt(first shot which uses parts of the powercrust [1] technology) Minkowski addition using approximations of the models
Our Attempt [1/3](here in 2D) • The surface of an object is given as a dense cloud of sample points.
Our Attempt [1/3](here in 2D) VoronoiCell • The surface of an object is given as a dense cloud of sample points. • From this input we compute the Voronoi diagram which divides the space into cells, each consisting of all points closest to one particular sample point.
Our Attempt [2/3](here in 2D) VoronoiCell • The sampling is dense. Therefore the cells are small, long andapproximately normal to the surface.
Our Attempt [2/3](here in 2D) VoronoiCell • The sampling is dense. Therefore the cells are small, long andapproximately normal to the surface. • A pole is the farthest vertex of a Voronoi cell from the sample point. Each interior pole is part of the approximated medial axis. Interior Pole
Our Attempt [2/3](here in 2D) • The sampling is dense. Therefore the cells are small, long andapproximately normal to the surface. • A pole is the farthest vertex of a Voronoi cell from the sample point. Each interior pole is part of the approximated medial axis. • The medial axis consists of all points having more than one nearest point on the surface. Interior Pole
Our Attempt [3/3](here in 2D) • Each interior pole is used as the center of a circle that touches the surface in at least two points.
Our Attempt [3/3](here in 2D) • Each interior pole is used as the center of a circle that touches the surface in at least two points. • The centers of all circles approximate the medial axis. • The union of their hulls approximates the hull of the object
Real Examples in 3D (..constructed in joint work with the team in Vienna)
Examples in 3D • A CAD model • triangulated with 20 000 points
Examples in 3D • A CAD model • triangulated with 20 000 points • The approximation • with 20 000 balls
Examples in 3D • A CAD model • triangulated with 20 000 points • The approximation • with 20 000 balls • The approximated medial axis
Examples in 3D • Original CAD Model • Triangulation with 20 000 Points
Examples in 3D • Approximated Model • 20 000 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls • 4 000 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls • 4 000 Balls • 1 000 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls • 4 000 Balls • 1 000 Balls • 200 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls • 4 000 Balls • 1 000 Balls • 200 Balls • 100 Balls
Examples in 3D • Approximated Model • 20 000 Balls • 10 000 Balls • 4 000 Balls • 1 000 Balls • 200 Balls • 100 Balls • 50 Balls
Examples in 3D • The approximated medial axis of the CAD object is not thin and smooth • This leads to smaller balls near the objects surface • Not optimal
Work is ongoing... • Problems of our first attempt: • Extremely strong response of the approximated medial axis to small distortions on the surface. • Balls outside the surface of the original object caused by wrong inner-/outer- pole labeling • A PC with 512 MB RAM can compute no more than 30000 input points. • Further steps • Our first attempt used the Powercrust [1] software which is actually designed for surface reconstruction. • Our own version of the software is planned to use efficient and reliable algorithms from CGAL • A combination with other approaches like octtrees will be investigated
References • Powercrust, developed by Amenta, Choi and Kollurihttp://www.cs.utexas.edu/users/amenta/powercrust/welcome.html