Abstract
Constraint-based placement tools and their use in diagramming tools has been investigated for decades. One of the most important and natural placement constraints in diagrams is that their graphic elements do not overlap. However, non-overlap of objects, especially non-convex objects, is difficult to solve and, in particular, to solve sufficiently rapidly for direct manipulation. Here we present the first practical approach for solving non-overlap of possibly non-convex objects in conjunction with other placement constraints such as alignment and distribution. Our methods are based on approximating the non-overlap constraint by a smoothly changing linear approximation. We have found that this in combination with techniques for lazy addition of constraints, is rapid enough to support direct manipulation in reasonably sized diagrams.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Badros, G.J., Borning, A., Stuckey, P.J.: The Cassowary linear arithmetic constraint solving algorithm. ACM Trans. CHI. 8(4), 267–306 (2001)
Baraff, D.: Fast contact force computation for nonpenetrating rigid bodies. In: Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques, pp. 23–34 (1994)
Borning, A., Marriott, K., Stuckey, P., Xiao, Y.: Solving linear arithmetic constraints for user interface applications. In: Proceedings of the 10th Annual ACM Symposium on User Interface Software and Technology, pp. 87–96. ACM Press, New York (1997)
Chazelle, B.: Triangulating a simple polygon in linear time. Discrete and Computational Geometry 6(1), 485–524 (1991)
Chiang, Y., Tamassia, R.: Dynamic algorithms in computational geometry. Proceedings of the IEEE 80(9), 1412–1434 (1992)
Flato, E.: Robust and efficient construction of planar Minkowski sums. Master’s thesis, School of Computer Science, Tel-Aviv University (2000)
Fletcher, R.: Practical methods of optimization. Wiley-Interscience, New York (1987)
Ghosh, P.K.: A solution of polygon containment, spatial planning, and other related problems using minkowski operations. Comput. Vision Graph. Image Process. 49(1), 1–35 (1990)
Greene, D.H.: The decomposition of polygons into convex parts. In: Computational Geometry, pp. 235–259 (1983)
Harada, M., Witkin, A., Baraff, D.: Interactive physically-based manipulation of discrete/continuous models. In: Proceedings of the 22nd Annual Conference on Computer Graphics and Interactive Techniques, pp. 199–208 (1995)
Hosobe, H.: A modular geometric constraint solver for user interface applications. In: Proceedings of the 14th annual ACM symposium on User Interface Software and Technology, pp. 91–100 (2001)
Hurst, N., Marriott, K., Moulder, P.: Dynamic approximation of complex graphical constraints by linear constraints. In: Proceedings of the 15th annual ACM symposium on User Interface Software and Technology, pp. 27–30 (2002)
Kramer, G.A.: A geometric constraint engine. Artificial Intelligence 58(1-3), 327–360 (1992)
Lin, M., Manocha, D., Cohen, J.: Collision detection: Algorithms and applications (1996)
Marriott, K., Chok, S.C., Finlay, A.: A tableau based constraint solving toolkit for interactive graphical applications. In: Proceedings of the 4th International Conference on Principles and Practice of Constraint Programming, London, UK, pp. 340–354. Springer, London (1998)
Marriott, K., Moulder, P., Stuckey, P.J., Borning, A.: Solving disjunctive constraints for interactive graphical applications. In: Proceedings of the 7th International Conference on Principles and Practice of Constraint Programming, London, UK, pp. 361–376. Springer, Heidelberg (2001)
Nelson, G.: Juno, a constraint-based graphics system. In: Proceedings of the 12th annual conference on Computer Graphics and Interactive Techniques, pp. 235–243. ACM Press, New York (1985)
O’Rourke, J.: Computational Geometry in C, 2nd edn. (1998)
Ramkumar, G.D.: An algorithm to compute the Minkowski sum outer-face of two simple polygons. In: Proceedings of the Twelfth Annual Symposium on Computational geometry, pp. 234–241 (1996)
Samet, H.: The Design and Analysis of Spatial Data Structures (1990)
Seidel, R.: A simple and fast incremental randomized algorithm for computing trapezoidal decompositions and for triangulating polygons. Comput. Geom. Theory Appl. 1(1), 51–64 (1991)
Sutherland, I.E.: Sketch pad a man-machine graphical communication system. In: DAC 1964: Proceedings of the SHARE design automation workshop, pp. 6.329–6.346. ACM Press, New York (1964)
Vander Zanden, B.: An incremental algorithm for satisfying hierarchies of multiway dataflow constraints. ACM Transactions on Programming Languages and Systems (TOPLAS) 18(1), 30–72 (1996)
Wein, R.: Exact and efficient construction of planar Minkowski sums using the convolution method. In: Proceedings of the 14th Annual European Symposium on Algorithms, September 2006, pp. 829–840 (2006)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gange, G., Marriott, K., Stuckey, P.J. (2008). Smooth Linear Approximation of Non-overlap Constraints. In: Stapleton, G., Howse, J., Lee, J. (eds) Diagrammatic Representation and Inference. Diagrams 2008. Lecture Notes in Computer Science(), vol 5223. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-87730-1_8
Download citation
DOI: https://doi.org/10.1007/978-3-540-87730-1_8
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-87729-5
Online ISBN: 978-3-540-87730-1
eBook Packages: Computer ScienceComputer Science (R0)