Solving Disjunctive Constraints for Interactive Graphical Applications

  • Kim Marriott
  • Peter Moulder
  • Peter J. Stuckey
  • Alan Borning
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2239)


In interactive graphical applications we often require that objects do not overlap. Such non-overlap constraints can be modelled as disjunctions of arithmetic inequalities. Unfortunately, disjunctions are typically not handled by constraint solvers that support direct manipulation, in part because solving such problems is NP-hard. We showhere that is in fact possible to (re-)solve systems of disjunctive constraints representing non-overlap constraints suficiently fast to support direct manipulation in interactive graphical applications. The key insight behind our algorithms is that the disjuncts in a non-overlap constraint are not disjoint: during direct manipulation we need only move between disjuncts that are adjacent in the sense that they share the current solution. We give both a generic algorithm, and a version specialised for linear arithmetic constraints that makes use of the Cassowary constraint solving algorithm.


Error Variable Linear Constraint Error Form Simplex Algorithm Direct Manipulation 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    David Baraff. Fast contact force computation for nonpenetrating rigid bodies. In SIGGRAPH’ 94 Conference Proceedings, pages 23–32. ACM, 1994.Google Scholar
  2. 2.
    Alan Borning, Bjorn Freeman-Benson, and Molly Wilson. Constraint hierarchies. Lisp and Symbolic Computation, 5(3):223–270, September 1992.CrossRefGoogle Scholar
  3. 3.
    Alan Borning, Kim Marriott, Peter Stuckey, and Yi Xiao. Solving linear arithmetic constraints for user interface applications. In Proceedings of the 1997 ACM Symposium on User Interface Software and Technology, October 1997.Google Scholar
  4. 4.
    Ioannis Fudos. Geometric Constraint Solving. PhD thesis, Purdue University, Department of Computer Sciences, 1995.Google Scholar
  5. 5.
    Michael Gleicher. A Differential Approach to Constraint Satisfaction. PhD thesis, School of Computer Science, Carnegie-Mellon University, 1994.Google Scholar
  6. 6.
    Mikako Harada, Andrew Witkin, and David Baraff. Interactive physically-based manipulation of discrete/continuous models. In SIGGRAPH’ 95 Conference Proceedings, pages 199–208, Los Angeles, August 1995. ACM.Google Scholar
  7. 7.
    David Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  8. 8.
    Glenn Kramer. A geometric constraint engine. Artificial Intelligence, 58(1–3):327–360, December 1992.CrossRefMathSciNetGoogle Scholar
  9. 9.
    K. Marriott, S.S. Chok, and A. Finlay. A tableau based constraint solving toolkit for interactive graphical applications. In International Conference on Principles and Practice of Constraint Programming (CP98), pages 340–354, 1998.Google Scholar
  10. 10.
    Kim Marriott and Peter Stuckey. Programming with Constraints: An Introduction. MIT Press, 1998.Google Scholar
  11. 11.
    George L. Nemhauser and Laurence A. Wolsey. Integer and Combinatorial Optimization. Wiley, NewYork, 1988.zbMATHGoogle Scholar
  12. 12.
    James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.Google Scholar
  13. 13.
    Michael Sannella, John Maloney, Bjorn Freeman-Benson, and Alan Borning. Multiway versus one-way constraints in user interfaces: Experience with the DeltaBlue algorithm. Software-Practice and Experience, 23(5):529–566, May 1993.CrossRefGoogle Scholar
  14. 14.
    Ivan Sutherland. Sketchpad: A Man-Machine Graphical Communication System. PhD thesis, Department of Electrical Engineering, MIT, January 1963.Google Scholar
  15. 15.
    Brad Vander Zanden. An incremental algorithm for satisfying hierarchies of multiway dataflow constraints. ACM Transactions on Programming Languages and Systems, 18(1):30–72, January 1996.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Kim Marriott
    • 1
  • Peter Moulder
    • 1
  • Peter J. Stuckey
    • 2
  • Alan Borning
    • 3
  1. 1.School of Comp. Science & Soft. Eng.Monash UniversityAustralia
  2. 2.Dept. of Comp. Science & Soft. Eng.University of MelbourneAustralia
  3. 3.Dept. of Computer Science & Eng.University of WashingtonSeattleUSA

Personalised recommendations