Abstract:
Constraints have been playing an important role in the user interface field since its infancy. A prime use of constraints in this field is to automatically maintain geometric layouts of graphical objects. To facilitate the construction of constraint-based user interface applications, researchers have proposed various constraint satisfaction methods and constraint solvers. Most previous research has focused on either local propagation or linear constraints, excluding more general nonlinear ones. However, nonlinear geometric constraints are practically useful to various user interfaces, e.g., drawing editors and information visualization systems. In this paper, we propose a novel constraint solver called Chorus, which realizes various powerful nonlinear geometric constraints such as Euclidean geometric, non-overlapping, and graph layout constraints. A key feature of Chorus is its module mechanism that allows users to define new kinds of geometric constraints. Also, Chorus supports “soft ” constraints with hierarchical strengths or preferences (i.e., constraint hierarchies). We describe its framework, algorithm, implementation, and experimental results.
Citations
|
409
|
Sketchpad: A man-machine graphical communication system
– Sutherland
- 1963
|
|
227
|
An algorithm for drawing general undirected graphs
– Kamada, Kawai
- 1989
|
|
197
|
The Programming Language Aspects of ThingLab, A Constraint-Oriented Simulation Laboratory
– Borning
- 1981
|
|
122
|
An incremental constraint solver
– Freeman-Benson, Maloney, et al.
- 1990
|
|
80
|
Practical Methods of Optimization, 2nd ed
– Fletcher
- 1987
|
|
71
|
Algebraic solution for geometry from dimensional constraints
– Owen
- 1991
|
|
62
|
Tackling real-coded genetic algorithms: Operators and tools for behavioural analysis
– Herrera, Lozano, et al.
- 1998
|
|
52
|
Solving linear arithmetic constraints for user interface applications
– Borning, Marriott, et al.
- 1997
|
|
52
|
Interactive beautification: a technique for rapid geometric design
– Igarashi, Matsuoka, et al.
- 1997
|
|
42
|
Skyblue: A multi-way local propagation constraint solver for user interface construction
– Sannella
- 1994
|
|
38
|
A graphics toolkit based on differential constraints
– Gleicher
- 1993
|
|
38
|
The Juno-2 constraint-based drawing editor
– Heydon, Nelson
- 1994
|
|
32
|
A general framework for visualizing abstract objects and relations
– Kamada, Kawai
- 1991
|
|
31
|
A geometric constraint engine
– Kramer
- 1992
|
|
23
|
A tableau based constraint solving toolkit for interactive graphical applications
– Marriott, Chok, et al.
- 1998
|
|
20
|
Constrained graph layout
– He, Marriott
- 1996
|
|
18
|
Juno, a constraint-based graphics system
– Nelson
- 1985
|
|
18
|
An interactive constraint-based system for drawing graphs
– Ryall, Marks, et al.
- 1997
|
|
16
|
Graphic object layout with interactive genetic algorithms
– Masui
- 1992
|
|
9
|
Constraints in graph drawing algorithms
– Tamassia
- 1998
|
|
7
|
Integration of declarative approaches
– Frick, Keskin, et al.
- 1996
|
|
7
|
Constraint Solving for Computer Aided Design
– Fudos
- 1995
|
|
6
|
A scalable linear constraint solver for user interface construction
– Hosobe
- 2000
|
|
3
|
Genetic Algorithms
– KITANO
- 1993
|
|
1
|
Simulated Annealing Package. http://www.taygeta.com/annealing
– Carter
|
|
1
|
Constraint geometry. http://www.saltire.com/constraints.html
– Software
|