COMPUTER-AIDED DESIGN & APPLICATIONS, 2016
VOL. 13, NO. 3, 271–280
http://dx.doi.org/10.1080/16864360.2015.1114384
Generator of 2D Geometric Constraint Graphs
Adel Moussaoui and Samy Ait-Aoudia
Ecole Nationale Supérieure en Informatique, Algeria
ABSTRACT
In 2-dimensional geometric constraint solving, graph-based techniques are a dominant approach,
particularly in CAD context. These methods transform the geometric problem into a graph which is
decomposed into small sub-graphs. Each one is solved, separately, and the final solution is obtained
by recomposing the solved sub-graphs. To the best of our knowledge, there is no random geometric
constraint graph generator so far. In this paper, we introduce a simple, but efficient generator that
produces any possible geometric configuration. It would be parameterized to generate graphs with
some desirable proprieties, like highly or weakly decomposable graphs, or restricting the generated
graph to a specific class of geometric configuration. Generated graphs can be used as a benchmark to
make consistent tests, or to observe algorithm behaviour on the geometric constraint graphs with
different sizes and structural properties. We prove that our generator is complete and suitable for
two main classes of solving approaches.
KEYWORDS
geometric constraint
decomposition; graph-based
solver; graph generator
1. Introduction
A geometric constraint system (GCS) consists of a fnite
set of geometric elements, such as points, lines and cir-
cles, along with relationships of diferent types such
as distance, angle, incidence and parallelism between
pairs of geometric elements. This problem is central
in many applications, such as computer-aided design
(CAD) [8], molecular modelling and recently localiza-
tion in wireless sensor networks [22]. Solving a GCS con-
sists of fnding real coordinates of geometric elements in
Euclidean space. If a GCS is incomplete, i.e. there are not
enough constraints between geometric elements, then it
is called under-constrained. If the specifed constraints
are conficting, i.e. there are too many constraints defned
between geometric elements, this situation is called over-
constrained. A GCS is called well-constrained, if it has
a fnite number of solutions. We formally defne those
notions in the next section.
In this paper, we focus on geometric constraint sys-
tems in the generic sense; we focus only on the solvabil-
ity of the graph and ignore the numerical values of the
geometric constraint. Assigning coordinates to the geo-
metric elements of a GCS that satisfes the constraints is
called a realization problem [6], Saxe [20] has shown it to
be NP-hard.
Many solvers have been proposed in the literature that
can be classifed in four broad categories: graph-based,
CONTACT Adel Moussaoui a_moussaoui@esi.dz
symbolic, numerical and rule-oriented. Furthers details
can be found in [3] and [12]. In this work, we focus
on graph-based methods, developed in Computer-Aided
Design context, such as those presented in [1], [2], [4],
[10], [17], [19]. Many such solvers transform the GCS
into a graph. By applying some decomposition tech-
niques on the constraint graph, they isolate under, over,
and well-constrained parts. The well-constrained part is
then analyzed by a decomposition technique to fnd small
solvable sub-graphs. The fnal solution is produced by
merging the solved sub-graphs in respect to an order of
resolution produced in the decomposition phase. This
is referred to as Decomposition / Recombination plan
(DR-Plan) [9]. The primary aim of this decomposition
is to speed up the resolution process by limiting the use
of direct algebraic resolution to subsystems that are as
small as possible (typically ruler and compass solvable
problems).
Hofmann et al., [9], classify DR-planners into two
main categories: SR-Planners (constraint shape
recognition), and MM-planners (generalized maximum
matching). Many SR-Planners have been proposed in the
literature. In [15], Joan-Arinyo et al. introduce a solv-
ing approach, called tree decomposition, that recursively
splits the constraint graph into three sub-graphs such that
pairwise share one vertex (called hinge). Their method
is based on searching for hinges in fundamental circuits
© 2016 CAD Solutions, LLC, http://www.cadanda.com