Solving Disjunctive Constraints for Interactive Graphical Applications
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.
KeywordsError Variable Linear Constraint Error Form Simplex Algorithm Direct Manipulation
Unable to display preview. Download preview PDF.
- 1.David Baraff. Fast contact force computation for nonpenetrating rigid bodies. In SIGGRAPH’ 94 Conference Proceedings, pages 23–32. ACM, 1994.Google Scholar
- 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.Ioannis Fudos. Geometric Constraint Solving. PhD thesis, Purdue University, Department of Computer Sciences, 1995.Google Scholar
- 5.Michael Gleicher. A Differential Approach to Constraint Satisfaction. PhD thesis, School of Computer Science, Carnegie-Mellon University, 1994.Google Scholar
- 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
- 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.Kim Marriott and Peter Stuckey. Programming with Constraints: An Introduction. MIT Press, 1998.Google Scholar
- 12.James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.Google Scholar
- 14.Ivan Sutherland. Sketchpad: A Man-Machine Graphical Communication System. PhD thesis, Department of Electrical Engineering, MIT, January 1963.Google Scholar