1 / 57

Freehand Drawing System based on Geometric Constraints

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

faxon
Download Presentation

Freehand Drawing System based on Geometric Constraints

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

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

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

  5. Example

  6. Copy Flip Move

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

  8. Geometric constraints Another Example

  9. The user attempts to draw a perpendicular line,

  10. GRID but grid prevents desired placements.

  11. He draws a box separately, and...

  12. ROTATE rotates it, but fails to get precise angle.

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

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

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

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

  17. Draw and... Interactive Beautification

  18. Draw and... Interactive Beautification Satisfied Constraints Beautify.

  19. Draw and... Interactive Beautification Beautify.

  20. Interactive Beautification Beautify.

  21. Ambiguity Handling But free strokes are ambiguous.

  22. Ambiguity Handling Generate multiple candidates  Let the user select

  23. In this way,the user can constructprecise geometric diagramswithout any editing commands!!

  24. Prototype System Pegasus Live Demo

  25. Diagrams Drawn

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

  27. Beautification Systems [Pavlidis 1985] ...

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

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

  30. Free Stroke Vectorization (contd.) Local context

  31. Free Stroke Vectorization (contd.) Local context Global context

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

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

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

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

  36. Input Reference segments (array of (X0, Y0, X1, Y1)) New stroke (x0, y0, x1, y1) Output Possible constraints (linear equations of (x0, y0, x1, y1)) Constraint Inference Perpendicular const * (x1 – x0) + const * (y1 – y0) = 0 Edge Connection x0 = const, y0 = const etc. (x1, y1) (x0, y0)

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

  38. Input Possible constraints (linear equations of (x0, y0, x1, y1)) Output Beautification candidates (array of (x0, y0, x1, y1)) Constraint Solver Perpendicular Same Length Edge Connection Horizontal

  39. Constraint Solver (contd.)

  40. Candidate Evaluation Candidate nearest to the original stroke  Primary candidate

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

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

  43. Rapidness How fast? Precision Beautiful? Two Measures

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

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

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

  47. Precision Rapidness Averaged drawing time for three diagrams The ratio of sessions where all constraints are satisfied Results 100 600 500 80 400 60 300 40 200 Pegasus outperformed CAD and Draw, in both rapidness and precision. 20 100 0 0 CAD CAD Draw Pegasus Draw Pegasus

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

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

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

More Related