1
A Practical Framework for Constructing Structured Drawings Salman Cheema Sarah Buchanan Sumit Gulwani Joseph J. LaViola Jr. References [1] Cheema, S., Gulwani, S., and LaViola, J. Quickdraw: improving drawing experience for geometric diagrams. In CHI ’12 (2012), 1037– 1046 [2] Cypher, A., Ed. Watch What I Do – Programming by Demonstration. MIT Press, 1993. [3] Gulwani, S., Harris, W. R., and Singh, R. Spreadsheet data manipulation using examples. Commun. ACM 55, 8 (2012), 97–105. [4] Paulson, B., and Hammond, T. Paleosketch: accurate primitive sketch recognition and beautification. In IUI ’08 (2008), Theoretical Framework to Model Structured Drawings Copy-Paste (translation + scaling) is one way to construct structured drawings Requires significant manual editing when repetition is required along a curve (See Cog in Figure 1) Difficult to of align repetitive elements with respect to a frame of reference Key features of our theoretical framework Models repetitive elements of drawings in terms of abstract collections Allows users to filter and select elements in collections Encapsulates repetitive patterns as a generative operation to extend collections and thus quickly construct drawings (Examples shown in Figure 3) Introduction We describe a novel theoretical framework for modeling structured drawings which contain one or more patterns of repetition in their constituent elements. We then present PatternSketch, a sketch-based drawing tool built using our framework to allow quick construction of structured drawings. PatternSketch can recognize and beautify drawings containing line segments, polylines, arcs, and circles. Users can employ a series of gestures to identify repetitive elements and create new elements based on automatically inferred patterns. PatternSketch leverages the programming-by-example (PBE) paradigm, enabling it to infer non-trivial patterns from a few examples. We show that PatternSketch, with its sketch-based user interface and a unique pattern inference algorithm, enables efficient and natural construction of structured drawings.. Figure 1. Real world examples of images with structured repetition PatternSketch: Prototype Tool for Making Structured Drawings 1)Natural Interaction via a sketch-based interface 2)Recognize [4] and beautify [1] drawings with line segments, circles, arcs and polylines 3)‘Lasso’ gesture to create collections of recognized elements (See Figures 2 & 4) 4)‘Drag’ gesture to extend a collection using inferred (See Figures 2 & 4) 5)Patterns modeled as combinations of ‘PointSets’ which are low- level geometric relationships between elements of collections 6)Unique pattern inference algorithm that leverages Programming by Example [2,3] and can learn patterns from a few examples by using a majority voting mechanism 7)Our proposed framework is abstract and general purpose. With PatternSketch, we demonstrate solutions for practical issues such as choice of drawing elements, types of supported patterns, inference rules, and interaction metaphors Figure 2. PatternSketch workflow Figure 4. An example of mathematical art being constructed using PatternSketch Figure 3. Example Drawings created using PatternSketch that highlight the power of our proposed theoretical framework

A Practical Framework for Constructing Structured Drawings Salman Cheema Sarah BuchananSumit Gulwani Joseph J. LaViola Jr. References [ 1] Cheema, S.,

Embed Size (px)

Citation preview

Page 1: A Practical Framework for Constructing Structured Drawings Salman Cheema Sarah BuchananSumit Gulwani Joseph J. LaViola Jr. References [ 1] Cheema, S.,

A Practical Framework for Constructing Structured DrawingsSalman Cheema Sarah Buchanan Sumit Gulwani Joseph J. LaViola Jr.

References

[1] Cheema, S., Gulwani, S., and LaViola, J. Quickdraw: improving drawing experience for geometric diagrams. In CHI ’12 (2012), 1037–1046

[2] Cypher, A., Ed. Watch What I Do – Programming by Demonstration. MIT Press, 1993.

[3] Gulwani, S., Harris, W. R., and Singh, R. Spreadsheet data manipulation using examples. Commun. ACM 55, 8 (2012), 97–105.

[4] Paulson, B., and Hammond, T. Paleosketch: accurate primitive sketch recognition and beautification. In IUI ’08 (2008), 1–10.

Theoretical Framework to Model Structured Drawings

Copy-Paste (translation + scaling) is one way to construct structured drawings

• Requires significant manual editing when repetition is required along a curve (See Cog in Figure 1)

• Difficult to of align repetitive elements with respect to a frame of reference

Key features of our theoretical framework

• Models repetitive elements of drawings in terms of abstract collections

• Allows users to filter and select elements in collections

• Encapsulates repetitive patterns as a generative operation to extend collections and thus quickly construct drawings (Examples shown in Figure 3)

IntroductionWe describe a novel theoretical framework for modeling structured drawings which contain one or more patterns of repetition in their constituent elements. We then present PatternSketch, a sketch-based drawing tool built using our framework to allow quick construction of structured drawings. PatternSketch can recognize and beautify drawings containing line segments, polylines, arcs, and circles. Users can employ a series of gestures to identify repetitive elements and create new elements based on automatically inferred patterns. PatternSketch leverages the programming-by-example (PBE) paradigm, enabling it to infer non-trivial patterns from a few examples. We show that PatternSketch, with its sketch-based user interface and a unique pattern inference algorithm, enables efficient and natural construction of structured drawings..

Figure 1. Real world examples of images with structured repetition

PatternSketch: Prototype Tool for Making Structured Drawings

1)Natural Interaction via a sketch-based interface

2)Recognize [4] and beautify [1] drawings with line segments, circles, arcs and polylines

3)‘Lasso’ gesture to create collections of recognized elements (See Figures 2 & 4)

4)‘Drag’ gesture to extend a collection using inferred (See Figures 2 & 4)

5)Patterns modeled as combinations of ‘PointSets’ which are low-level geometric relationships between elements of collections

6)Unique pattern inference algorithm that leverages Programming by Example [2,3] and can learn patterns from a few examples by using a majority voting mechanism

7)Our proposed framework is abstract and general purpose. With PatternSketch, we demonstrate solutions for practical issues such as choice of drawing elements, types of supported patterns, inference rules, and interaction metaphors

Figure 2. PatternSketch workflow

Figure 4. An example of mathematical art being constructed using PatternSketch

Figure 3. Example Drawings created using PatternSketch that highlight the power of

our proposed theoretical framework