Drawing For Illustration And Annotation In 3D

1,404 views
1,296 views

Published on

We present a system for sketching in 3D, which strives to preserve the degree of expression, imagination, and simplicity of use achieved by 2D drawing. Our system directly uses user-drawn strokes to infer the sketches representing the same scene from different viewpoints, rather than attempting to reconstruct a 3D model. This is achieved by interpreting strokes as indications of a local surface silhouette or contour. Strokes thus deform and disappear progressively as we move away from the original viewpoint. They may be occluded by objects indicated by other strokes, or, in contrast, be drawn above such objects. The user draws on a plane which can be positioned explicitly or relative to other objects or strokes in the sketch. Our system is interactive, since we use fast algorithms and graphics hardware for rendering. We present applications to education, design, architecture and fashion, where 3D sketches can be used alone or as an annotation of an existing 3D model.

Published in: Technology, Health & Medicine
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,404
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
36
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Drawing For Illustration And Annotation In 3D

  1. 1. Drawing for Illustration and Annotation in 3D David Bourguignon*, Marie-Paule Cani* and George Drettakis** *i MAGIS, INRIA Rhône-Alpes, France **REVES, INRIA Sophia-Antipolis, France
  2. 2. Motivation <ul><li>Drawing </li></ul><ul><ul><li>Scene complexity in an effective manner </li></ul></ul><ul><ul><li>Indication of uncertainty </li></ul></ul><ul><ul><li>Limitation to single viewpoint </li></ul></ul><ul><li>Applications </li></ul><ul><ul><li>Fine arts </li></ul></ul><ul><ul><li>Teaching </li></ul></ul><ul><ul><li>Early stages of design </li></ul></ul>Human heart
  3. 3. Motivation <ul><li>Goal: drawing in 3D </li></ul><ul><ul><li>Augment strokes to true 3D entities </li></ul></ul><ul><ul><li>Free-form drawing </li></ul></ul><ul><ul><li>Annotation of existing 3D models </li></ul></ul><ul><ul><li>Many viewpoints </li></ul></ul><ul><li>Problems to be solved </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering from different viewpoints </li></ul></ul>Eye Back
  4. 4. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  5. 5. Previous Work [Akeo et al., 1994] [Pugh, 1992] 2D drawing is converted to 3D Specify hidden parts by hand
  6. 6. Previous Work [Lipson and Shpitalni, 1996] [Eggli et al., 1997] No free-form drawing Limited number of primitives
  7. 7. Previous Work [Cohen et al., 1999] [Tolba et al., 1999] 3D curves design, no drawing 2D drawings reprojected, no visibility changes
  8. 8. Previous Work [Igarashi et al., 1999] [Zeleznik et al., 1996] Limited to a given gestural interface Closed strokes only
  9. 9. Previous Work [Cohen et al., 2000] Drawing modes adapted to landscaping only, no 3D model reconstruction in billboard mode
  10. 10. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  11. 11. Our Approach <ul><li>Strokes </li></ul><ul><ul><li>2D drawing on the screen plane </li></ul></ul><ul><ul><li>Line stroke for 1D details </li></ul></ul><ul><ul><li>Silhouette stroke for view-dependent information </li></ul></ul><ul><li>Problems to be solved </li></ul><ul><ul><li>Inferring local surface from silhouette </li></ul></ul><ul><ul><li>Representing uncertainty </li></ul></ul><ul><ul><li>Managing occlusions </li></ul></ul>Silhouette stroke Line stroke (3D spline)
  12. 12. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  13. 13. Silhouette Stroke – Modeling <ul><li>Infer local surface </li></ul><ul><ul><li>Fit Bézier curve to 2D user input </li></ul></ul><ul><ul><li>Evaluate local curvature </li></ul></ul><ul><ul><li>Process curvature vectors </li></ul></ul><ul><ul><ul><li>Clamp relatively to inflexion points </li></ul></ul></ul><ul><ul><ul><li>Set consistent in/out orientation </li></ul></ul></ul>
  14. 14. Silhouette Stroke – Modeling <ul><li>Infer local surface </li></ul><ul><ul><li>Fit Bézier curve to 2D user input </li></ul></ul><ul><ul><li>Evaluate local curvature </li></ul></ul><ul><ul><li>Process curvature vectors </li></ul></ul><ul><ul><ul><li>Clamp relatively to inflexion points </li></ul></ul></ul><ul><ul><ul><li>Set consistent in/out orientation </li></ul></ul></ul>
  15. 15. Silhouette Stroke – Modeling <ul><li>Infer local surface </li></ul><ul><ul><li>Fit Bézier curve to 2D user input </li></ul></ul><ul><ul><li>Evaluate local curvature </li></ul></ul><ul><ul><li>Process curvature vectors </li></ul></ul><ul><ul><ul><li>Clamp relatively to inflexion points </li></ul></ul></ul><ul><ul><ul><li>Set consistent in/out orientation </li></ul></ul></ul>
  16. 16. Silhouette Stroke – Modeling <ul><li>Infer local surface </li></ul><ul><ul><li>3D circles from vectors of curvature </li></ul></ul><ul><ul><li>Local Bézier surface </li></ul></ul>
  17. 17. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  18. 18. Silhouette Stroke – Rendering <ul><li>New silhouette from new viewpoint </li></ul><ul><ul><li>Efficient silhouette approximation using clipping planes </li></ul></ul><ul><ul><li>Good for local surfaces associated with strokes </li></ul></ul>
  19. 19. Silhouette Stroke – Rendering <ul><li>Represent uncertainty </li></ul><ul><ul><li>Use stroke texture </li></ul></ul><ul><ul><li>Color stroke as desired </li></ul></ul>Front (original view) Side (30°) Side (90°) Stroke alpha texture
  20. 20. Silhouette Stroke – Rendering <ul><li>Manage occlusion </li></ul><ul><ul><li>Use occluder texture for soft occlusion </li></ul></ul><ul><ul><li>Various drawing styles </li></ul></ul>Occluder alpha texture
  21. 21. Silhouette Stroke – Rendering <ul><li>Multipass algorithm </li></ul><ul><ul><li>(Previously render scene and line strokes) </li></ul></ul><ul><ul><li>First pass: Rendering silhouette strokes </li></ul></ul><ul><ul><ul><li>With stroke texture </li></ul></ul></ul><ul><ul><ul><li>With stroke color </li></ul></ul></ul><ul><ul><li>Second pass: Soft occlusion by local surfaces (set depth) </li></ul></ul><ul><ul><ul><li>With occluder texture </li></ul></ul></ul><ul><ul><li>Third pass: Soft occlusion by local surfaces (achieve blend) </li></ul></ul><ul><ul><ul><li>With occluder texture </li></ul></ul></ul><ul><ul><ul><li>With occluder color </li></ul></ul></ul>
  22. 22. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  23. 23. Interface for Drawing <ul><li>Two types of strokes </li></ul><ul><ul><li>Line stroke </li></ul></ul><ul><ul><li>Silhouette stroke </li></ul></ul><ul><li>Two drawing modes </li></ul><ul><ul><li>In empty space </li></ul></ul><ul><ul><li>Relatively to other objects </li></ul></ul>On one object Between two objects
  24. 24. Overview <ul><li>Previous work </li></ul><ul><li>Contributions </li></ul><ul><ul><li>Silhouette stroke modeling </li></ul></ul><ul><ul><li>Silhouette stroke rendering </li></ul></ul><ul><ul><li>Interface for drawing </li></ul></ul><ul><li>Results </li></ul>
  25. 25. Applications <ul><li>Illustration in 3D </li></ul>
  26. 26. Applications <ul><li>Annotation of a 3D scene </li></ul>
  27. 27. Applications <ul><li>&quot;Guided design&quot; </li></ul>
  28. 28. Video
  29. 29. Conclusion <ul><li>System for drawing in 3D </li></ul><ul><ul><li>View-dependent strokes with occlusion </li></ul></ul><ul><ul><li>Useful for drawing simple scenes in 3D </li></ul></ul><ul><ul><li>Useful for annotations </li></ul></ul><ul><li>Future work </li></ul><ul><ul><li>Handling tubular objects </li></ul></ul><ul><ul><li>Real world test: using it to teach anatomy </li></ul></ul>
  30. 30. Acknowledgements <ul><li>Eric Ferley for feedback throughout the project </li></ul><ul><li>Laurence Boissieux for creating some of the drawings, Marc Pont for help with models </li></ul><ul><li>Frédo Durand for advice on the paper </li></ul><ul><li>iMAGIS is a joint project of CNRS, INPG, INRIA and UJF </li></ul>

×