Below we outline the strategy and concepts for the main modules of our beautification system. For more details please see the publications and presentations. First the initial model is analysed for geometric regularities which are then used by a hypothesizer which selects a suitable subset of the regularities and enforces them on the model using geometric constraints. In the final step the model is reconstructed from the solution of the geometric constraint system also considering the combinatorial (topological) structure of the initial model.
- Analyser
- We detect a large set of potential geometric regularities which are approximately present in the initial model. The regularities are described in terms of similarities. Different properties of faces, edges and vertices, and small groups of these elements in a boundary representation model are represented as feature objects. Similar feature objects, such as directions which are parallel, form one sort of regularities. For each group of similar feature objects, special feature objects which might represent the group form further regularities, e.g. an integer value which approximates the radius of similar cylinders. Further regularities arise from symmetries of feature object sets. These can be complete or partial symmetries of the object itself or symmetries of the features in special feature spaces, like symmetrically arranged directions in a direction space.
- Hypothesizer
-
The hypothesizer has to select a suitable set of consistent geometric regularities which include at least the major desired regularities of the ideal design for the initial model. We express the regularities in terms of geometric constraints. The hypothesizer consists of a selection module which selects desirable constraints such that the whole constraint system remains consistent and a constraint solver module which tries to solve the selected constraint system. Both modules cannot be separated from each other. The selection module tries to select desirable constraint sets while the solver module is responsible for checking the solvability of the system. There are different strategies in combining the selection and solving method. We can either keep them separate trying to solve a pre-selected system and adjust the selection according to the solvability of the system or we can consecutively select constraints and check if the system remains solvable and eventually also simplify the system if solvable sub-systems are detected.
- Constraint Selection
- The constraints are grouped in sets each describing a single regularity. Based on the general desirability of a certain regularity and how well the regularity is present in the initial model the constraint sets are prioritised. We always select constraints in these sets. Based on the priority the constraint selection module tries to select a consistent set of desirable constraints. The consistency is checked by the constraint solver and some simple geometric reasoning for obviously inconsistent constraints, such as two constraints on the same geometric objects with different constants.
- Constraint Solver
- The constraint solver tries to find a solution to the selected constraint system and is primarily responsible for reporting contradictory constraints in the system. We consider graph-based as well as purely numerical methods (using numerical optimization) to find a solvable system. For the numerical methods we initially select a constraint system consisting of highly desirable constraints which do not have any obvious contradictions. We try to solve the system and if this fails we adjust the constraint selection. The graph-based methods are used to consecutively build up the constraint system selecting the most desirable constraints without creating inconsistencies or over-constraint systems. When a solvable sub-system in the constraint graph has been detected we can solve it and replace it by a simpler element in the graph.
- Reconstruction
- From the solution of the final constraint system selected by the hypothesizer and the combinatorial structure of the initial model an improved model is reconstructed. In addition we can fix problems in the combinatorial structure, align the model with the coordinate axes, etc.
Cite as
Strategy,http://www.langbein.org/research/solids/borg/strategy/print by Frank C Langbein [13/October/2008, 00:45].
Copyright © 1995-2012, Frank C Langbein.
Except where otherwise stated, this web site, Ex Tenebris Scientia, by Frank C Langbein is licensed under a Creative Commons Attribution-Non-Commercial-Share Alike 2.0 UK: England & Wales License.