1. Field of Disclosure
The present disclosure relates generally to systems and methods for geometry-intensive design and analytical applications.
2. Description of Related Art
Shape skeletons are fundamental concepts for describing the shape of geometric objects, and have found a variety of applications in a number of areas where geometry plays an important role. Two types of skeletons commonly used in geometric computations are the straight skeleton of a (linear) polygon, and the medial axis (MA) of a bounded set of points in the k-dimensional Euclidean space.
Medial axis is an important tool in computational geometry and geometric modeling. The concept of medial axis has been described with the help of a fire grass analogy as follows: if a fire starts from all points of a planar curve at the same time, and moves with constant velocities in all directions in the same plane, then the medial axis is the locus of points where the fire (a moving front) meets itself. Extending the concept to k-dimensional geometric shapes in Rk, the medial axis becomes a set of dimension k−1. The points on the medial axis are equally distant to at least two points of the curve. A shape and its medial axis are connected in the same way regardless of the dimension of the space (i.e., they are homotopy equivalent), which is a feature exploited in many applications, including those that focus on shape similarity.
Closely related to the medial axis of a point set is the concept of a straight skeleton. In 2-D, the straight skeleton of a polygon consists of line segments obtained from trimming the bisectors of the polygon edges, which can lead to ambiguous constructions. The straight skeleton partitions an n-gon into n polygons that contain only one of the edges of the original polygon.
The straight skeleton and the medial axis are identical for convex polygons, but are different for non-convex polygons. Both the straight skeleton and the medial axis are uniquely defined for a given shape, and induce a disjoint partitioning of the shape.
To further describe shape skeletons in general, a useful analogy is the skeletal structure of extinct animals. Their organic skeletons contain sufficient information that can be used by anthropologists to reconstruct the image of the living creatures that were once supported by these skeletons, and from which facts can be inferred about the individual and collective behavior of these extinct creatures. In the same way, shape skeletons can be used to capture critical information about the shapes to which they correspond. In addition, such shape skeletons support a variety of geometric applications while having a lower dimension than the shape itself, thereby leading to faster computations. The great promise of shape skeletons is that they can greatly simplify complex geometric reasoning tasks.
However, computation of these skeletons, even for fairly simple shapes, remains a continuing problem.
Current technologies for the application of shape skeletons compute the medial axis for simple shapes—mostly 2-dimensional (2-D), piecewise linear boundaries, i.e., polygons or polyhedra—by following fundamentally different algorithms. A couple of published algorithms that work in 3-dimensional space (3-D) are exclusively for rigid polyhedral shapes that have planar surfaces.
Geometric skeletons are fundamental concepts in practically all geometrically intensive areas of science and engineering, such as automated finite element meshing, shape manipulation, recognition and comparison, dimensional reduction in design and analysis, robotic surgery, and a variety of path and motion planning in commercial and defense applications. More recently, skeletons have been used to explore the fundamental geometric problems of folding and unfolding related to some of the important problems in science today, such as protein folding and sheet metal bending.
Though widely used in engineering, computer graphics, and computer vision, the underlying algorithms used to compute shape skeletons are still restricted to fairly simple and static shapes. By contrast, many practical applications, such as motion planning of unmanned autonomous vehicles (UAV), must operate in environments that are not completely known, or in environments that are evolving in time.
The popularity of the medial axis in shape modeling and analysis comes from several well-known properties. For example, a medial axis captures the connectivity of the domain, has a lower dimension than the space itself, and is closely related to the distance function constructed over the same domain.
Geometric skeletons can be used to synthesize, analyze and reason about geometry in practically all applications that use and operate with 3-dimensional geometry. However, there remains a need for improved approaches for exact computation of these skeletons of even fairly simple planar shapes.
The present disclosure provides a method to define and compute a shape skeleton, as well as define and compute classes of such skeletons.
The present disclosure further provides computation of shape skeletons in more situations than was previously possible to provide new approaches to geometry-based problems.
The present disclosure still further provides shape skeletons that can be used in practically every application or operation that relies on geometric models, including: finite element analysis; path planning and navigation of manned or unmanned (autonomous) vehicles; design and analysis of mechanical systems; design for assembly, mechanical assembly planning; automatic fixture design; feature detection and simplification of geometric models; computer-aided surgery; character and object recognition; and reverse engineering.
The present disclosure yet further provides systems and methods with the ability to handle an evolving environment in which obstacles can appear and/or disappear, merge or split with other obstacles, or merge and/or split with the boundaries of the environment itself. Mathematically, this means that the topology of such evolving environments is changing continuously and drastically.
The present disclosure provides methods that can handle problems in which the environment is not fully known a priori, and the methods intrinsically support local and parallel skeleton computations for domains with rigid or evolving boundaries. The methods of the present invention extend to, and can be applied to, 3-D domains.
The present disclosure also provides implementing path planning algorithms in any commercial geometric kernel, and the algorithms have advantageous computational properties. The capability of the proposed technique is exemplified in the examples described below, which are designed to resemble highly dynamic environments.
The present disclosure still further provides a medial zone of an n-dimensional semi-analytic domain Ω that subsumes the medial axis MA(Ω) of the same domain as a special case, and can be thought of as a “thick” skeleton having the same dimension as that of Ω. The medial zone MZ(Ω) of Ω converges to either MA(Ω) or Ω itself, and is homeomorphic to the domain.
In addition, the present disclosure provides efficient computational paradigms for 2- or 3-dimensional semi-analytic sets with rigid or evolving boundaries. Because the medial zones fuse some of the critical geometric and topological properties of both the domain itself and of its medial axis, re-formulating problems in terms of medial zones affords the “best of both worlds” in applications such as robotic and autonomous navigation, and design automation.
Still further, the present disclosure provides a novel approach to shape optimization that exploits the geometric and topological properties of medial zones and a new shape modification paradigm to synthesize shapes with topological guarantees.
Motion planning is ubiquitous in many geometric intensive applications involving moving objects such as robotics, virtual reality, computer-aided design and manufacturing, computer-aided surgery, computational biology and many others. Motion planning usually ignores differential constraints, and focuses primarily on the translations and rotations required to move an object from an initial configuration to a final position and orientation. One of the most useful and common abstractions of this general problem is to transform the motion planning of an object in the Euclidean space into the path planning of a point in the configuration space (“C-space”) of the object.
An exemplary embodiment of a method of the present disclosure for path planning relies on a powerful medial axis computation paradigm employing constructive representations of shapes based on R-functions. An exemplary embodiment of the method includes:
The method may further include the step of generating collision-free paths for a moving point/object by employing a graph search expression or algorithm.
The present disclosure provides methods and formulations to account for such evolutions in the environment while maintaining the ability to compute shape skeletons.
The methods of the present disclosure remain valid and reliable for arbitrarily complex geometry, which represents a major improvement over the state of the art.
The present disclosure provides foundational methods necessary to compute both 2-dimensional (2-D) and 3-dimensional (3-D) shape skeletons. This success in computing skeletons of 3-D shapes provides advantages for industrial applications such as those identified elsewhere in this specification.
The present disclosure further provides a novel paradigm for constructing and computing families of geometric skeletons that are capable of addressing not only polyhedral shapes, but also the most general shapes. Apart from the present disclosure, there is no other known method or system for constructing such geometric skeletons for non-polyhedral shapes.
The geometric models of the present disclosure do not have to be rigid but, rather, can evolve over time. This feature is critical, for example, in unmanned autonomous vehicle (UAV) path planning, where the environment changes as new information becomes available, or in computer-aided surgery where the shapes are non-rigid.
The present disclosure provides methods and systems that are capable of constructing geometric skeletons for deformable and evolving shapes.
The present disclosure further provides computation methods related to medial zones that can be thought of as “thick” skeletons. Such methods provide enormous advantages for path planning.
The present disclosure provides a method and a system for constructing and computing families of geometric skeletons, including medial axis, straight skeleton, and the C-skeleton (described more fully herein), as well as the corresponding radius functions. As an example, the straight skeleton and the medial axis of a planar polygon are provided in
A further feature of the method of the present disclosure is the ability to handle problems in which the environment (in which an object is moving) is not fully known a priori, because obstacles can be introduced and/or removed at any time during the planning stage and within the same problem formulation.
Still another feature of the method of the present disclosure is intrinsic support of local and parallel skeleton computations for domains with rigid or evolving boundaries due to explicit mapping between the branches of the medial axis and the halfspaces bounding the environment.
The methods of the present disclosure can be implemented in any commercial geometric kernel because halfspaces (designated as hi) become surfaces in the 3-D space, and these surfaces can be combined according to the describing R-function.
The methods of the present disclosure handle trajectory planning of points, as well as path planning for planar objects within the same formulation due to the close relationship between R-functions and level sets. For example, the simplest approach to extend the trajectory planning to 2-D objects is to approximate the moving object by its smallest enclosing ball, and take a different level set of the R-function defining the environment. This effectively offsets the boundary of the environment so that the outer boundaries of the environment shrink while, at the same time, the obstacles grow by the same radius of the disk enclosing the object. A better approximation for translating objects can be obtained by using the well-known Minkowski operations.
The present disclosure supports multiple representations of input geometry such as curves defined implicitly or parametrically.
The method and system of the present disclosure extend to applications involving 3-D domains. Such extensions require additional halfspaces beyond the trimmed conical halfspaces that are necessary and sufficient for 2-D applications. Moreover, the R-functions defining 3-D environments would be 4-dimensional (4-D) entities. In some embodiments related to 3-D domains, the disclosed method may no longer be able to rely on commercial geometric kernels for constructing the distance function and for extracting the skeleton; instead, discrete edge-based detection expressions are employed to extract non-differentiable points of the corresponding implicit distance function.
The methods of the present disclosure include steps of computing constructive representations of shapes with R-functions that operate on real-valued halfspaces as logic operations, that can handle 3-D polyhedra (and the most general class) of 3-D shapes, i.e., semi-analytic sets.
In contrast to the present disclosure, the known technologies in the art compute the medial axis for simple shapes (mostly 2-D, piecewise linear boundaries—i.e., polygons or polyhedra) by following fundamentally different algorithms and methods.
The skeletons of the present disclosure can be used in practically every application or operation that relies on geometric models. Some examples of areas where the present disclosure can be applied include: finite element analysis; path planning and navigation of manned or unmanned (autonomous) vehicles; design and analysis of mechanical systems; design for assembly, mechanical assembly planning; automatic fixture design; feature detection and simplification of geometric models; computer-aided surgery; character and object recognition; and reverse engineering.
Shape optimization (with topological changes) has become a de facto standard approach for synthesizing new designs. Current approaches rely heavily on voxelized modifications of the initial domain, followed by heuristic reconstruction procedures that result in a detailed shape design. The initial domain is almost always conservatively estimated so that the design space spans a sufficiently large set of possible solutions.
The medial zone is a “thick skeleton” of the domain induced by prescribed boundary conditions. The medial zones produce an initial solution that is topologically valid. This initial solution is modified by adding or subtracting material, for example, defined via prescribed shape functions. This approach has many advantages in terms of topological guarantees, shape control, and computational costs. The approach also supports parametric optimization of freeform geometry, can be implemented in any geometric representation that supports distance computations, and subsumes most other shape optimization approaches.
The present disclosure further provides a framework for constructing exact or approximate distance functions and the associated skeletons for solid semi-analytic sets that can be either rigid or undergoing topological deformations. Shapes are defined constructively with R-functions that operate on real-valued halfspaces as logic operations. The present methods are able to construct skeletons for any semi-analytic set, even with evolving boundaries and/or ongoing topographical changes.
More specifically, the present disclosure provides that the approximate distance functions induce a new type of skeleton, which is called the “C-skeleton,” which is piecewise linear for polygons, and generalizes naturally to planar and spatial domains with curved boundaries.
In addition, the present disclosure provides that the introduction of additional halfspaces in the same formulation provides the exact distance function and the medial axis of any semi-analytic planar set, as well as the corresponding radius function. The present formulation completely avoids performing trimming and pruning of the computed skeletons.
The following is an exemplary embodiment of a framework for computing skeletal representations of a semi-analytic domain Ω.
For any closed subset Ω of k, i.e., a set that contains its boundary points, the distance from a point P (where Pεk) to the boundary of Ω is usually defined as in equation (1) below:
d(P)=inf∥P−x∥, (xε∂Ω) (1)
Consequently, every continuous function ƒ(P)=0 that is a subset of k, which further implies that one can construct a C∞ function that vanishes on the boundary ∂Ω of Ω. Such shapes are in fact semi-analytic sets of points that can be constructed as a finite Boolean combination of real analytic functions ƒi≧0. In other words, one can construct a Cn function over a semi-analytic subset Ω of k by subdividing the boundary of Ω in primitive halfspaces ƒi, followed by a combination of ƒi into a single predicate using the standard Boolean logic operators AND, OR or NOT.
R-functions, which are defined below, provide the means to construct a Cn function over a domain defined by primitive halfspaces. In the context of this application, the R-functions replace the logical operators by real-valued functions, which generate an implicit representation for any semi-analytic set Ω. The R-functions permit construction of approximate and exact distance functions over a semi-analytic domain.
One such R-function, known as the R1(Δ) system, can be generalized to what is called the principal system of R-functions shown below as Equation (2):
R
α(Δ): 1/(1+α) (x1+x2±√(x12+x22−2αx1x2)) (2)
where (+) corresponds to the R-disjunction (x1 Λαx2) and (−) corresponds to R-conjunction (x1 Vα x2). By varying the value of α, different systems of R-functions are obtained. In particular, by setting α=1 in Eq. (2), the R1(Δ) system of R-functions is obtained, while a value of α=0 in Eq. (2) results in the R0(Δ) system. These implicit functions are positive inside the domain, negative outside and zero on the boundary. This is illustrated in
Of note, when the expression under the square root in Eq. (2) becomes zero, the R-functions become non-differentiable. Since the medial axis of a semi-analytic domain corresponds to the points where the distance function is non-differentiable, the present method and system seek those points of the R-function in Eq. (2) where the expression under the square root vanishes (i.e., is zero).
With reference again to
In order to construct a Boolean set representation of a polygonal domain, another exemplary embodiment of the method and system of the present disclosure uses a simple expression based on the Convex Deficiency Tree, which treats each polygon as its convex hull minus a finite number of concavities. Since the polygon is a closed set, the subtraction of concavities must necessarily be regularized (i.e., requiring regularized Boolean operations).
In one embodiment, three binary indices can be used for each individual linear halfspace ƒi, i=1, n, of the polygonal domain that may have concavity regions, as shown in
The edge classification system is used to construct an implicit function (halfspace) corresponding to each edge, such that each halfspace will be positive towards the interior of the polygon. Since the method seeks to establish a distance function for the polygonal domain, the boundary of the 3-D halfspace defined by each linear segment of the polygon's boundary must make an angle of 45° with the plane containing the polygon. If this condition is satisfied, the value of the function ƒi(x) at a point xε 2 will be equal to the shortest Euclidean distance between x and the line in 2 that generates the halfspace ƒi.
Constructing the Boolean expression defining the R-function for the polygon relies on the indices summarized above to decompose the polygonal domain into polygonal subchains meeting at vertices that are on the convex hull of the polygon. If two halfspaces (or two subchains) of the original polygon meet at a concave vertex they are combined by set union; otherwise, they are combined by set intersection. Finally, a syntactic substation replaces the union and intersection with the R-disjunction and R-conjunction in Eq. (2), which results in an R-function whose zero level set is the original polygon.
In this manner, an R-function is obtained that is the exact distance function for any convex polygon, and an approximate distance function for a concave polygon, as illustrated in
Referring again to
Another approach—one that is generalizable to 3-D domains and 4-D R-functions—takes advantage of the fact that the resulting R1(Δ) R-function is not differentiable at the edges. In order to extract these edges, established techniques for edge detection in computer vision can be used that seek intensity changes in images. Thee techniques rely on the fact that an intensity change in an image is accompanied by a large (or peak) first directional derivative, which is equivalent to a zero-crossing in the second directional derivative of the intensity function captured by the Laplace operator. A finite-difference approximation of the Laplacian shown as equation (3):
∇2ƒ(x, y)≈Iij=ƒi+1j+ƒi−1j+ƒij+1+ƒij−1−4ƒij (3)
and a line sweep algorithm can be used to identify points in the interior of the polygon where the R-function is not differentiable.
Referring now to
Thus, “C-skeleton” is defined as follows in this application: If Ω is a closed, bounded and regular subset of the Euclidean space 2, the C-skeleton of Ω is the projection of the convex edges of the R-function onto the plane of the domain.
There are multiple approaches to detect the convexity of the edges of the R-function. The discrete Laplacian of Eq. (3) changes its sign between points that are on ridges of the R-function and points that are on its ravines. If all points of the domain are collected for which the discrete Laplacian of Eq. (3) are non-zero, then the straight skeleton of the domain is obtained. On the other hand, if the points of the domain are collected for which the discrete Laplacian of the R-function is negative, the C-skeleton is obtained.
There is a striking similarity between the C-skeleton and the medial axis of the domain shown in
For convex polygons, the C-skeleton is identical to the medial axis, but this is not true for all arbitrary polygons. Specifically, in the neighborhood of a concave vertex, the medial axis contains curved segments that are subsets of the bisector of a point and a line. This bisector of a point and a line is known to be a parabola which, by definition, is the set of points equally spaced between the point and the line. In order to obtain these bisectors in the same space as the original planar domain Ω, additional halfspaces must be added to the R-function formulation that would generate the correct bisectors. If appropriate additional halfspaces can be generated, trimmed, and added automatically to the R-function defining the domain Ω such that the new R-function corresponds to an exact distance function for Ω, then their intersection curves (ridges and ravines of their R-function) in k+1 Euclidean space will generate the medial axis of Ω by projection onto k.
A 3-D view of this procedure is illustrated in
A planar domain may have one or more holes. In some embodiments, obstacles in the environment can be represented as holes of the domain. An advantage of the present approach to compute skeletons based on R-functions is that holes can be easily added to Ω by simply adding (closed) Jordan curves (i.e., curves in 2-D or s8urfaces in 3-D satisfying the Jordan-Brouwer separation theorem) corresponding to the boundary of each hole. Additional conical halfspaces are added for the vertices of the polygon defining the hole by following the procedure described above. The only difference is where these additional halfspaces are added: a concave vertex of the polygonal domain Ω. The R-function expression corresponding to the hole is subtracted from the R-function defining the outer boundary of Ω with the R-conjunction in equation (4):
ƒ1Λ1ƒ2=½(ƒ1+ƒ2−√(ƒ12+ƒ22−2ƒ1ƒ2)) (4)
The connection between R-functions and level sets becomes apparent if one observes that the domain defining the R-function is the zero level set of the R-function itself, as was illustrated in
For domains with curved boundaries, two difficulties in adding curved boundary segments to the polygonal domain are: (1) to construct the distance function corresponding to each curved halfspace; and (2) to add additional halfspaces to the formulation that would generate the point-curve bisectors.
The problem with constructing distance functions to given curves and surfaces arises in many applications. The problem can be reformulated as a numerical search for the foot-point of a curve or a surface, but the search can be slow, does not always converge, and may not be robust. In contrast, the embodiments of the present method and system employ a different strategy; rather than searching for the point(s) on a curve that is (are) closest to a given point of the plane in which the curve lies, the following steps are taken:
ƒ(x, y)=d(PC to PC).
This procedure has the advantages of being general, in the sense that it remains valid for any semi-analytic halfspace. The procedure also offers the advantages of enumerating values of the distance function without requiring a search, avoiding problems associated with foot-point computations, and being conceptually equivalent to a line that sweeps a halfspace as point PC travels along the planar curve.
Adding a conical halfspace c, at every concave vertex vi and two halfspaces hi1 and hi2 that are normal to the two incident edges at vi is sufficient to generate the bisector of a point and any planar curve defined by ƒj. A salient feature of this embodiment of the present method is that curve-curve bisectors are embedded automatically in the R-function construction, and no additional halfspaces are required.
The medial axis has the same connectivity as that of the domain defining the medial axis; however, this is not true for a C-skeleton, which can be a disconnected set even if Ω is simply connected. More specifically, the medial axis and the C-skeleton are identical for convex polygonal domains, and therefore the C-skeleton of a convex polygon has the same connectivity as its convex domain. However, for non-convex domains, the medial axis and the C-skeleton are different, and the C-skeleton may or may not be a connected set, depending on the geometry and relative positions of the halfspaces defining Ω, even if Ω is simply connected. An example is provided in
The instability of the medial axis with respect to the Hausdorff distance (i.e., small changes in the boundary of Ω may induce large changes in the MA(Ω)), and may require a pruning step (essentially heuristic) when computing the medial axis of a noisy point sample. A benefit of the topological property of the C-skeleton described above is that the disconnected C-skeleton of a noisy point sample can be used to prune the approximated medial axis when the domain Ω is approximated by a finite point set. For the case shown in
The following examples display the capabilities of exemplary embodiments of the present method and system.
Distance functions can be constructed within a solid geometric kernel to construct and combine the halfspaces according to a Constructive Solid Geometry (CSG) expression defining the R-function. This, in turn, provides the boundary of the solid bounded by the R-function and the plane of the planar domain, as well as a parametric representation of all the trimmed curve segments comprising the ridges and ravines of the R-function. A disadvantage of this approach is that it does not generalize to 3-D domains when the R-function exists in a 4-D space.
Alternatively, the R-functions can be constructed programmatically, followed by an edge detection process, and by projection of all or some of these edges onto the space of the domain, as described above. This numerical procedure can be followed by a fairly simple segmentation of these points to identify the halfspaces that generate a particular point of the skeleton, where this segmentation amounts to repeated function evaluations, as well as by a reconstruction step to fit piecewise polynomial curves (and surfaces in 3-D) to the segmented point sets.
All numerical results provided in the following examples were obtained by implementing the described approach in Matlab, while the last example was constructed in Unigraphics.
The first example shows a non-convex wrench-like polygonal domain with 14 edges and 3 holes. By definition, the C-skeleton of such a domain must only contain straight line segments, but the medial axis will contain both linear and parabolic curve segments. The Boolean expression is computed in four steps by constructing one R-function for the polygon itself, and three separate R-functions for the three holes. These four R-functions are then combined with the appropriate Boolean operators. Finally, ridges are detected and projected to the x-yY plane to obtain the C-skeleton. Converting the C-skeleton into the medial axis requires addition of conical halfspaces ci and trimming halfspaces hi to the Boolean set expression, as described above. The computed C-skeleton and medial axis for this example are illustrated in
In this example, the domain defined in
A third example illustrates a domain that contains one curved boundary segment and seven holes. Constructing the Boolean set expression of this shape follows essentially the same procedure as described above, except for how the halfspace defined by the curved segment was constructed, which followed the procedure described above, namely:
The computed C-skeleton and the medial axis of this domain are shown in
The fourth example is a planar domain bounded by piecewise cubic polynomial segments, as illustrated in
Referring now to
z
1=(ƒ2∪ƒ3) (6)
z
2=(ƒ5∪ƒ6) (7)
z
3=(ƒ8∪ƒ9) (8)
where the halfspaces defined by the incident edges at each of the three concave vertices, whose positive side points towards the interior of the domain. Therefore, the Boolean expression generating the approximate distance function can be written as:
ƒ(x, y)=(ƒ1∩ƒ4∩ƒ7)∩(z1∩z2∩z3) (9)
The R-function is constructed by forming a syntactic substitution of the Boolean operations with the corresponding R-disjunction and R-conjunction from Eq. (2) above, and the resulting function is illustrated in
The approximate distance function given in Eq. (9) can be converted into an exact distance function by adding trimmed conical halfspaces at the concave vertices as follows:
z
1
→z
1∪(h1∩h2∩c1) (10)
z
2
→z
2∪(h3∩h4∩c2) (11)
z
3
→z
3∪(h5∩h6∩c3)
The effect of these trimmed conical halfspaces on the resulting distance function is illustrated in
The methods and systems of the present disclosure provide a novel approach to construct either exact or approximate distance functions and the associated skeletal representations for 2-D semi-analytic sets that can be either rigid or undergoing topological deformations. The distance functions are defined constructively based on R-functions that operate on real-valued halfspaces as logic operations. The R-functions can be used to construct approximate distance functions over a domain defined by primitive halfspaces, where the R-functions replace the corresponding logical operations by real-valued functions. In turn, this results in an implicit representation of the approximate distance function for any semi-analytic planar domain.
Furthermore, the constructed approximate distance function corresponds to a new type of skeleton, the C-skeleton, which is piecewise linear for polygons, has attractive properties, and generalizes naturally to planar and spatial domains with curved boundaries. The C-skeleton closely resembles the medial axis of a planar domain, but has a lower geometric complexity, which is an advantage for a variety of applications where medial axis is currently being used.
By adding conical halfspaces and trimming halfspaces at every concave vertex of the domain, the approximate distance function is transformed into an exact distance function. In addition, the medial axis, which corresponds to the ridges of the exact distance function, can be extracted either algebraically (by combining the corresponding halfspaces according to the Boolean expression defined by the R-function as illustrated, for example, in
Several other critical features provide the generality and flexibility that are benefits of the method and system of the present disclosure. Specifically, the proposed C-skeleton is the same as the straight skeleton for convex polygons, but has fewer edges for concave polygons. For piecewise linear shapes, the C-skeleton has the same number of branches as the medial axis, but a lower geometric complexity due to its piecewise linear structure.
Moreover, the construction of the exact distance function and medial axis of a planar domain only requires the addition of a conical halfspace as well as two trimming halfspaces to the Boolean expression defining the approximate distance function for every concave vertex. If these halfspaces are added for every vertex of the domain (both concave and convex), the halfspaces will automatically contribute to the exact distance function and the corresponding medial axis as long as the corresponding vertex is concave, while these halfspaces will have no effect for convex vertices. This is particularly beneficial for domains with evolving boundaries because it eliminates the need to keep track of the convexity of vertices.
Another advantage of the method and system of the present disclosure is that the straight skeleton, C-skeleton, and medial axis of a planar domain can all be generated within the same formulation. Due to its Boolean nature, the same formulation can handle both rigid or deformable domains, possibly undergoing drastic topological changes. This feature becomes particularly useful in those applications where the environment is not fully known a priori, such as adaptive motion planning in dynamic environments.
Still another advantage of the method and system of the present disclosure is that the C-skeleton can be disconnected even if the domain is simply connected. This property of the C-skeleton can, in turn, be used to trim the branches of the medial axis that appear to be due to noise in the data; i.e., the pruning problem.
Yet another advantage of the method and system of the present disclosure is that they support multiple representations of the input geometry, and provide a simple, efficient expression for constructing an implicit representation of a planar curve (and of its associated halfspace) directly from its parametric representation, which could be a practical alternative to the conventional foot-point computations.
In addition, the disclosed method could be implemented in any existing commercial CAD system and geometric kernel that supports freeform surfaces and standard geometric operations on surfaces.
Finally, the method and system disclosed herein extends naturally to 3-D, with the addition of further trimmed halfspaces.
The present disclosure further provides a system for constructing geometric skeletons of a shape. In an embodiment of the system, the system has a determining device that determines a distance function over a planar domain bounded by semi-analytic boundary curve segments. This first determining device has an output that is a Boolean logic expression that defines the environment in which an object moves. The system also has an extracting device that extracts a skeleton of a medial axis formed by points of the planar domain where the distance function is non-differentiable. The system may further have a second determining device that determines a mapping between each segment of the medial axis and a subset of the boundary of a domain to generate a particular medial axis segment. This second determining device has an output that is the particular medial axis segment.
The present disclosure provides a method for determining a “medial zone” of a semi-analytic domain. An embodiment of the method for determining (also referred to as constructing herein) includes determining a distance function over the semi-analytic domain, where the distance function includes an R-function and where the distance function has a distance function surface. The method further includes selecting a value in the R-function that eliminates singular points of the distance function that correspond to interior points of the semi-analytic domain. The medial zone is determined by collecting all points of the semi-analytic domain within an angle that is formed between the normal to the distance function surface and a vector along an axis corresponding to the value of the distance function. The medial zone further subsumes the medial axis. For practical reasons, the medial zone can be restricted to a subset of the semi-analytic domain; however, medial zones exist outside of the domain similarly with the medial axis.
The medial zone and the semi-analytic domain are homeomorphic.
The distance function may include the following steps: enumerating a first set of points on the distance function surface; constructing a vector that is normal to the distance function surface at a selected point on this surface; enumerating a second set of points along the normal vector; and setting the known distance from the second set of points to the selected point as the value of the distance function.
Referring now to
In practical terms, the use of medial zones in path planning applications retains the properties of medial axes in the neighborhood of narrow passages, while resulting in globally shorter paths. Medial zones can also provide a new paradigm to automate the shape synthesis of mechanical artifacts.
As noted above, the medial zone of an n-dimensional semi-analytic domain Ω subsumes the medial axis MA(Ω) as a special case, and can be thought of as a “thick” skeleton having the same dimension as that of Ω.
The medial zone MZ(Ω) can converge to either MA(Ω) or domain Ω itself, and is homeomorphic to the domain.
Distance functions are constructed from individual halfspaces bounding a semi-analytic domain (Ω) and are combined with R-functions into a single distance function over Ω. The R-functions provide the flexibility of constructing exact distance functions over Ω whose ridges and ravines correspond to classes of skeletons of Ω. For example, by projecting the ridges of the exact distance function, one obtains the medial axis MA(Ω). Furthermore, the R-functions can be used to construct approximate distance functions whose crests define the medial zones of Ω.
The R-functions used to construct medial zones are the same equations as described above for other geometric skeletons, such as Eq. (2). When α=1 in Eq. (2), piecewise smooth distance fields are generated and the skeletons are obtained as the non-differentiable points of the distance functions described above. However, one important feature of R-functions is that they can generate continuous and smooth functions over the domain that are differentiable almost everywhere. By simply selecting a value of 0≦α≦1, one eliminates the singular points of the distance function that correspond to interior points of the domain.
In this description, α is a “global” parameter, while γmax is a local parameter defined at a point. In this application, γmax is the same at every point in the domain.
Therefore, the medial zone MZα,γmax of a semi-analytic domain Ω is the set of points:
MZ
α,γmax(Ω)={PεΩ)|angle of (n, ed<γmax)Λ(0<α<1)}
where n is the normal to the distance function surface, and ed is a vector along the axis corresponding to the distance function value.
In the following examples, a parallelized version of the code that relies on Message Passing Interface (MPI) libraries is used; specifically, MPICH2 implementation on a PC workstation.
As used in this application, medial axis (MA) is defined to mean that, if Ω is a closed, bounded, regular and semi-analytic subset of Rk, then the medial axis MA(Ω) is the set of points that have at least two closest points in ∂Ω—the boundary of Ω. Thus, MA is the set of all centers of the closed maximal balls, and is a continuous version of the usual Voronoi diagram.
As used in this application, an “R-function” is a real-valued function ƒ(x1, x2, x3, . . . , xn) if its sign is completely determined by the signs of its arguments x. When positive values are interpreted as TRUE and negative values as FALSE, the R-function can operate as a Boolean switching function. In the context of this application, R-functions can replace the logical operations by real-valued functions, which generate an implicit representation for any semi-analytic set Ω. Specifically, these R-functions allow construction of approximate and exact distance functions over a semi-analytic domain.
It should be understood that the foregoing description is only illustrative of the present disclosure. Various alternatives and modifications can be devised by those skilled in the art without departing from the disclosure. Accordingly, the present disclosure is intended to embrace all such alternatives, modifications, and variances that fall within the scope of the disclosure.
This application claims the benefit of U.S. Provisional Application No. 61/398,643, filed on Jun. 29, 2010, which is incorporated by reference herein.
The present disclosure was developed in part with funding from the National Science Foundation under Grant # 0644769. The United States Government has certain rights in this invention.
Number | Date | Country | |
---|---|---|---|
61398643 | Jun 2010 | US |