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