Interactive constraint-based search and replace

We describe enhancements to graphical search and replace that allow users to extend the capabilities of a graphical editor. Interactive constraint-based search and replace can search for objects that obey user-specified sets of constraints and automatically apply other constraints to modify these objects. We show how an interactive tool that employs this technique makes it possible for users to define sets of constraints graphically that modify existing illustrations or control the creation of new illustrations. The interace uses the same visual language as the editor and allows users to understand and create powerful rules without conventional programming. Rules can be saved and retrieved for use alone or in combination. Examples, generated with a working implementation, demonstrate applications to drawing beautification and transformation.

[1]  NelsonGreg Juno, a constraint-based graphics system , 1985 .

[2]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[3]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[4]  William H. Press,et al.  Numerical Recipes in FORTRAN - The Art of Scientific Computing, 2nd Edition , 1987 .

[5]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.

[6]  Alan Borning Graphically Defining New Building Blocks in Thinglab , 1987, SGCH.

[7]  John E. Howland,et al.  Computer graphics , 1990, IEEE Potentials.

[8]  Bradley T. Vander Zanden Constraint grammars–a new model for specifying graphical applications , 1989, CHI '89.

[9]  Louis Weitzman Designer: A knowledge-based graphic design assistant , 1992 .

[10]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[11]  Brad A. Myers,et al.  Demonstrational interfaces: A step beyond direct manipulation , 1992, Computer.

[12]  James A. Landay,et al.  Inferring graphical constraints with Rockit , 1993, INTERCHI.

[13]  Eric A. Bier,et al.  Graphical search and replace , 1988, SIGGRAPH.

[14]  Brad A. Myers,et al.  Creating user interfaces by demonstration , 1988 .

[15]  D. Maulsby Specifying Graphical Procedures by Example , 1989, SIGGRAPH 1989.

[16]  Scott E. Hudson,et al.  Smoothly integrating rule-based techniques into a direct manipulation interface builder , 1991, UIST '91.

[17]  Clayton Lewis NoPumpG: Creating Interactive Graphics With Spreadsheet Machinery , 1987 .

[18]  Maureen C. Stone,et al.  Snap-dragging , 1986, SIGGRAPH.

[19]  Alan Borning Graphically Defining New Building Blocks in Thinglab , 1987 .

[20]  Greg Nelson,et al.  Juno, a constraint-based graphics system , 1985, SIGGRAPH.

[21]  Theodosios Pavlidis,et al.  An automatic beautifier for drawings and illustrations , 1985, SIGGRAPH.

[22]  Steven K. Feiner,et al.  Graphical editing by example , 1993 .

[23]  Ian H. Witten,et al.  Metamouse: specifying graphical procedures by example , 1989, SIGGRAPH.

[24]  F. A. Seiler,et al.  Numerical Recipes in C: The Art of Scientific Computing , 1989 .