Freehand Drawing System based on Geometric Constraints Kaisuke Nakajima Joint work with Takeo Igarashi User Interface Research Group The University of.

Slides:



Advertisements
Similar presentations
QR Code Recognition Based On Image Processing
Advertisements

© University of Wisconsin, CS559 Spring 2004
Copyright © Cengage Learning. All rights reserved.
Salman Cheema 1, Sumit Gulwani 2, Joseph J. LaViola Jr 1 1: University of Central Florida 2: Microsoft Research.
Freehand Sketching Introduction to Mechanical Engineering Fall 2004 Created by: P.M. Larochelle & J.S. Ketchel.
© University of Wisconsin, CS559 Spring 2004
1 Representing Curves and Surfaces. 2 Introduction We need smooth curves and surfaces in many applications: –model real world objects –computer-aided.
Learn how to make your drawings come alive…  COURSE: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms, including.
Chapter 2 Functions and Graphs
Chapter 2 Functions and Graphs Section 1 Functions.
Chapter 2 Sketching, Constraining & Dimensioning.
כמה מהתעשייה? מבנה הקורס השתנה Computer vision.
3-D Modeling Concepts V part 2.
How to Sketch a Horizontal Line
Parametric Modeling.
University of Maribor 1 CADUI' June FUNDP Namur An Interactive Constraint-Based Graphics System with Partially Constrained Form-Features.
Sketching Prof. Jon Southen October 8, Sketches from Leonardo da Vinci’s Design Notebook.
Curve Modeling Bézier Curves
1 SKETCHING and LETTERING Print multiple handouts on one page to save paper Select File – Print Edit the following selections to read: Select the OK button.
© 2012 Autodesk AC2724 – 2D Parametrics in AutoCAD® and Why You Need to Use Them Rick Ellis President, Cadapult Software Solutions
Interactive Input Methods & Graphical User Input
CGMB214: Introduction to Computer Graphics
Interactive Design of Botanical Trees using Freehand Sketches and Example-based Editing Makoto Okabe 1, Shigeru Owada 1,2, Takeo Igarashi 1,3 The University.
Curves.
© Siemens Product Lifecycle Management Software Inc. All rights reserved Siemens PLM Software Solid Edge ST5 Training Working with face relationships.
Images Similarity by Relative Dynamic Programming M. Sc. thesis by Ady Ecker Supervisor: prof. Shimon Ullman.
CS654: Digital Image Analysis Lecture 25: Hough Transform Slide credits: Guillermo Sapiro, Mubarak Shah, Derek Hoiem.
AS-RIGID-AS-POSSIBLE SHAPE MANIPULATION
A Practical Framework for Constructing Structured Drawings Salman Cheema Sarah BuchananSumit Gulwani Joseph J. LaViola Jr. References [ 1] Cheema, S.,
1 3D Screen-space Widgets for Non-linear Projection Patrick Coleman, Karan Singh (Univ of Toronto) Nisha Sudarsanam, Cindy Grimm (Washington Univ in St.
TECH 104 – Technical Graphics Communication Introduction to Engineering Graphics Communication.
Feature Point Detection and Curve Approximation for Early Processing of Free-Hand Sketches Tevfik Metin Sezgin and Randall Davis MIT AI Laboratory.
Forging new generations of engineers. Parametric Modeling.
11/26/02(C) University of Wisconsin Last Time BSplines.
Application: Multiresolution Curves Jyun-Ming Chen Spring 2001.
Chapter 2 Sketching, Constraining & Dimensioning.
Chapter 2 Sketching, Constraining & Dimensioning.
Constraints. Constraints in Inventor ? Constraints Defined Constraint - The state of being restricted or confined within prescribed bounds.
1. Take Out Completed Activity 2
Rendering Bezier Curves (1) Evaluate the curve at a fixed set of parameter values and join the points with straight lines Advantage: Very simple Disadvantages:
Learn how to make your drawings come alive…  COURSE: SKETCH RECOGNITION Analysis, implementation, and comparison of sketch recognition algorithms, including.
Computer – Aided Design Terminology You must have a generic understanding of commands and techniques which are used in a number of packages (YOU CANNOT.
Computer – Aided Design Terminology You must have a generic understanding of commands and techniques which are used in a number of packages (YOU CANNOT.
1 Copyright © 2015, 2011, and 2008 Pearson Education, Inc. Chapter 1 Functions and Graphs Section 1 Functions.
Introduction to Parametric Curve and Surface Modeling.
Clothing Manipulation Takeo Igarashi John F.Hughes Computer Science Department University of Tokyo Computer Science Department Brown University.
3-D Modeling Concepts V part 2.
Computer Modeling Fundamentals Using Inventor
Computer Modeling Fundamentals Using Inventor
AXONOMETRIC PROJECTION
Curve & Surface.
3-D Modeling Concepts V part 2.
Two-Dimensional Sketching
Copyright © Cengage Learning. All rights reserved.
Freehand Sketching.
CSE 167 [Win 17], Lecture 9: Curves 1 Ravi Ramamoorthi
Computer Modeling Fundamentals Using Inventor
Parametric Modeling.
Parametric Modeling Presentation Overview
3-D Modeling Concepts V part B.
In this chapter, you will learn the following:
Chapter 1 Introduction(1.1)
AXONOMETRIC PROJECTION
3-D Modeling Concepts V part 2.
Introduction to Parametric Curve and Surface Modeling
Computer Modeling Fundamentals
5.2.a Geometric Constraints
Computer Modeling Fundamentals Using Inventor
Advanced Computer Graphics: Teddy
In this chapter, you will learn the following:
Presentation transcript:

Freehand Drawing System based on Geometric Constraints Kaisuke Nakajima Joint work with Takeo Igarashi User Interface Research Group The University of Tokyo

Two Parts of the Talk Introduction to Pegasus [Igarashi, UIST 1997 & CHI 1998] Improvement attempts My current study Any comments greatly appreciated!

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

Problem Diagrams In documents, slides, … By drawing editors Difficult to satisfy geometric relations!

Example

CopyFlipMove

Example (contd.) In this case, grids works well, but…

Geometric constraints Another Example

The user attempts to draw a perpendicular line,

but grid prevents desired placements. GRID

He draws a box separately, and...

rotates it, but fails to get precise angle. ROTATE

Better strategy: copy the slope  rotate 90 degrees COPY ROTATE

The user must plan detailed strategy. Copy Flip Move Rotat e Grid Planning overhead Why Difficult?

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

Our Idea Sketching is easy! Sketch  Beautify Interactive Beautification [Igarashi, UIST 1997] Sketch + Beautify

Draw and... Interactive Beautification

Beautify. Satisfied Constraints Draw and... Interactive Beautification

Beautify. Draw and... Interactive Beautification

Beautify. Interactive Beautification

But free strokes are ambiguous. Ambiguity Handling

Generate multiple candidates  Let the user select Ambiguity Handling

In this way, the user can construct precise geometric diagrams without any editing commands!!

Prototype System Pegasus Live Demo

Diagrams Drawn

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

[Pavlidis 1985]... Beautification Systems

Batch-based too many errors! More Interaction (+ multiple candidates) Beautification Systems (contd.)

[Apple Newton] [SmartSketch]... Free Stroke Vectorization

Local context Free Stroke Vectorization (contd.)

Global contextLocal context Free Stroke Vectorization (contd.)

Drawing Systems based on Geometric Constraints [Sutherland 1963] [Nelson 1985]...

Drawing Systems based on Geometric Constraints (contd.) Previous work Explicitly specify constraints Our approach Infer constraints

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

Beautification Algorithm Constraint Inference Segment coordinates Multiple constraints Constraint Solver Multiple candidates Candidate Evaluation Primary candidate

Constraint Inference Input Reference segments (array of (X 0, Y 0, X 1, Y 1 )) New stroke (x 0, y 0, x 1, y 1 ) Output Possible constraints (linear equations of (x 0, y 0, x 1, y 1 )) Perpendicular const * (x 1 – x 0 ) + const * (y 1 – y 0 ) = 0 Edge Connection x 0 = const, y 0 = const etc. (x 0, y 0 ) (x 1, y 1 )

Constraint Inference (contd.) How? Supported constraints if (distance(point1, point2) < 30) infer constraint(point1 == point2);

Constraint Solver Input Possible constraints (linear equations of (x 0, y 0, x 1, y 1 )) Output Beautification candidates (array of (x 0, y 0, x 1, y 1 )) Perpendicular Edge Connection Same Length Horizontal

Constraint Solver (contd.)

Candidate Evaluation Candidate nearest to the original stroke  Primary candidate

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

To confirm the intuition ! “It’s difficult for novice users to use commands” “Interactive beautification is good” Purpose

Rapidness How fast? Precision Beautiful? Two Measures

Experimental Settings 18 subjects 3 diagrams, 3 editors (9 sessions / person)

Systems CAD... AutoSketch (AutoDesk), CAD Software. Draw... SmartSketch (Future Wave), Drawing Editor. Pegasus…Our Prototype system. On AMiTY (a pen computer)

Diagrams and Constraints A) B) C) Parallel-1 Parallel-2 Perpendicular Vertical and Horizontal Connected (all Vertices) Symmetric-1 Symmetric-2 Connected (all Vertices) Parallel-1 Parallel-2 Equal Interval Connected (all Vertices)

Results Rapidness Precision Averaged drawing time for three diagrams CAD Draw Pegasus CADDrawPegasus The ratio of sessions where all constraints are satisfied Pegasus outperformed CAD and Draw, in both rapidness and precision.

Evaluation: Conclusion Pegasus cannot do everything But: certainly useful in its target domain CAD Paint Geometric diagrams, rapidly & precisely!

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

Ongoing Work Address limitations of Pegasus Only lines Too many candidates Forgets constraints

Limitation: Only Lines  Support curves Circles, ellipses, arcs, Bézier curves (Experimental demo)

Limitation: Only Lines (contd.) Challenges with curves More ambiguity Shape recognition Constraint inference Complex constraints: how to represent? e.g. line tangent to piecewise Bézier curve Complex constraints: how to solve efficiently? Exponential growth of candidate solutions

Limitation: Too Many Candidates  Overlapping…  Constraint switching interface Visualize conflicting constraints Enable manual switching Challenges How to detect conflicting constraints efficiently?

Limitation: Forgets Constraints  Remember constraints Maintain them during manipulation Chorus [Hosobe 2001] Stretch! Skewed 

Outline 1. Problem 2. Our Idea & Demonstration 3. Related Work 4. Algorithm 5. Evaluation 6. Ongoing Study 7. Summary

Summary Pegasus: freehand drawing system User study showed promising results Geometric constraints play an important role in sketch beautification Further improvements to be made

Thank you Papers & demos available at