Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
David Baraff. Fast contact force computation for nonpenetrating rigid bodies. In SIGGRAPH’ 94 Conference Proceedings, pages 23–32. ACM, 1994.
Alan Borning, Bjorn Freeman-Benson, and Molly Wilson. Constraint hierarchies. Lisp and Symbolic Computation, 5(3):223–270, September 1992.
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.
Ioannis Fudos. Geometric Constraint Solving. PhD thesis, Purdue University, Department of Computer Sciences, 1995.
Michael Gleicher. A Differential Approach to Constraint Satisfaction. PhD thesis, School of Computer Science, Carnegie-Mellon University, 1994.
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.
David Harel. Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274, 1987.
Glenn Kramer. A geometric constraint engine. Artificial Intelligence, 58(1–3):327–360, December 1992.
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.
Kim Marriott and Peter Stuckey. Programming with Constraints: An Introduction. MIT Press, 1998.
George L. Nemhauser and Laurence A. Wolsey. Integer and Combinatorial Optimization. Wiley, NewYork, 1988.
James Rumbaugh, Ivar Jacobson, and Grady Booch. The Unified Modeling Language Reference Manual. Addison-Wesley, 1998.
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.
Ivan Sutherland. Sketchpad: A Man-Machine Graphical Communication System. PhD thesis, Department of Electrical Engineering, MIT, January 1963.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Marriott, K., Moulder, P., Stuckey, P.J., Borning, A. (2001). Solving Disjunctive Constraints for Interactive Graphical Applications. In: Walsh, T. (eds) Principles and Practice of Constraint Programming — CP 2001. CP 2001. Lecture Notes in Computer Science, vol 2239. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45578-7_25
Download citation
DOI: https://doi.org/10.1007/3-540-45578-7_25
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42863-3
Online ISBN: 978-3-540-45578-3
eBook Packages: Springer Book Archive