1 / 25

Sketching Free-form Surfaces Using Network of Curves

Sketching Free-form Surfaces Using Network of Curves. Koel Das Pablo Diaz-Gutierrez M. Gopi University of California, Irvine. Motivation. www-ui.is.s.u-tokyo.ac.jp/~takeo. We have tools for sketching rotund objects Teddy! Round and symmetric objects We have sketch-based CAD tools

ryanadan
Download Presentation

Sketching Free-form Surfaces Using Network of Curves

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. Sketching Free-form Surfaces Using Network of Curves Koel Das Pablo Diaz-Gutierrez M. Gopi University of California, Irvine

  2. Motivation www-ui.is.s.u-tokyo.ac.jp/~takeo • We have tools for sketching rotund objects • Teddy! • Round and symmetric objects • We have sketch-based CAD tools • SketchUp • Boxy, rectilinear shapes • What about something intermediate? • Requirements for artists • Free-form shapes • Easy to learn interface • Artists can draw! www.sketchup.com graphics.cs.brown.edu http://graphics.ics.uci.edu

  3. Problem description • Generation of networks of free-form curves • Simple sketching interface • Surface interpolation for networks of curves • Flexible: • Capable of large variety of shapes • Simple: • Few parameters http://graphics.ics.uci.edu

  4. Talk outline • Problem description • Networks of Curves • Depth interpolation • Surface Generation • Normals • Topological triangulation • Vertex relocation • Results • Demo • Conclusion, Future Work and Q/A http://graphics.ics.uci.edu

  5. Networks of curves • What’s a network of curves? • A set of 3D vertices and polylines • All locations are known • Not necessarily planar • How is it different from a 2D sketch? • 2D sketch is a flat drawing • Networks of curves have (explicit) depth • What are the implications? • Better clues on the intention of the user • Better usage of computing capabilities • Less ambiguity • One step less to solve http://graphics.ics.uci.edu

  6. Networks of curves2D/3D ambiguities ? http://graphics.ics.uci.edu

  7. Networks of curvesGranularity of 2D/3D • Sketch: Thick grain 2D-3D conversion • Network of curves: Fine grain conversion Input: Complete sketch Global sketch interpretation 2D Input: Sketch segments 3D Produced shape 2D 3D Network of curves http://graphics.ics.uci.edu

  8. Networks of curves • What are the challenges in its creation? • Allow transformations without complicating interface • Early 2D to 3D conversion • Depth interpolation http://graphics.ics.uci.edu

  9. Networks of curves From 2D to 3D • 3 types of curves: • Both endpoints free • Constant, arbitrary depth • One endpoint fixed, one free • Constant depth given by fixed endpoint • Both endpoints fixed • Depth interpolation http://graphics.ics.uci.edu

  10. Networks of curves Depth interpolation • Underconstrained problem • No solution is always better than other • Our choice: minimize curvature • Informal lab study showed most users find these curves to be the natural interpolation • 3D Bezier curve with control points of uniformly increasing depth minimizes curvature 2D ? 3D 3D http://graphics.ics.uci.edu

  11. Networks of curves Depth interpolation • We know: • Projection parameters • X,Y screen coordinates along curve • Depth at endpoints of curve (Z0,Z1) • Need to find intermediate Z • Our approximation: • Find extremal deviation points • These will be our control points • Uniformly distribute Z values • Split segment at those points • Recursively repeat until curve segment is close to straight line • Similar to Casteljau subdivision Z0 Z0+(Z1-Z0)*0.25 Z0+(Z1-Z0)*0.75 Z0+(Z1-Z0)*0.5 Z1 http://graphics.ics.uci.edu

  12. Talk outline • Problem description • Networks of Curves • Depth interpolation • Surface Generation • Normals • Topological triangulation • Vertex relocation • Results • Demo • Conclusion, Future Work and Q/A http://graphics.ics.uci.edu

  13. Surface generation • Two steps problem • Identification of surface patches • Surface generation (skinning) • We focus on skinning • Manifolds without boundaries http://graphics.ics.uci.edu

  14. Surface generationNormals • Normals are crucial for surface generation • Meaning of a vertex normal • Perpendicular direction to surface • Why is it a problem? • Need to calculate normal without knowing the surface • In current implementation, we guess and let the user fix (flip/rotate) • More work should go on this • SLERP (quaternions) for normal interpolation along curves http://graphics.ics.uci.edu

  15. Surface generationTopological triangulation • Why the name? • The location doesn’t matter • Just the connectivity • How is it done? • Layers of triangles reducing boundary complexity • Finish with triangle fan • Enough for convex, planar faces w/ sharp edges • Split non-convex polygons http://graphics.ics.uci.edu

  16. Surface generationVertex relocation (2D diagram) • What if we want round edges? • No sharp features • Need to relocate generated vertices • To minimize surface distortion • Repeat as desired: • Quadric error for each non-fixed vertex • Relocate vertices to minimize error • Recalculate normals • The order of these updates is crucial • Vertex dependencies from boundary to center Etc… http://graphics.ics.uci.edu

  17. Talk outline • Problem description • Networks of Curves • Depth interpolation • Surface Generation • Normals • Topological triangulation • Vertex relocation • Results • Demo • Conclusion, Future Work and Q/A http://graphics.ics.uci.edu

  18. Results http://graphics.ics.uci.edu

  19. Talk outline • Problem description • Networks of Curves • Depth interpolation • Surface Generation • Normals • Topological triangulation • Vertex relocation • Results • Demo • Conclusion, Future Work and Q/A http://graphics.ics.uci.edu

  20. Demo • Disclaimer: • Normal calculations • Patch identification • Numerical stability of the surface generation • Cross your fingers… http://graphics.ics.uci.edu

  21. Talk outline • Problem description • Networks of Curves • Depth interpolation • Surface Generation • Normals • Topological triangulation • Vertex relocation • Results • Demo • Conclusion http://graphics.ics.uci.edu

  22. Summary • Curvature minimizing depth interpolation • Simple surface generation scheme • Still work in progress! http://graphics.ics.uci.edu

  23. Future work • Automatic identification of surface patches • Fix numerical stability issues • Gesture recognition to simplify GUI • Selectively highlight and fade out regions of the sketch • Reduce the overlapping webs effect • Automatic pre-visualization • Better user feedback http://graphics.ics.uci.edu

  24. Acknowledgements • ICS Computer Graphics Lab @ UCI • http://graphics.ics.uci.edu • Google Summer of Code program • http://code.google.com • Blender Foundation • http://blender3d.org http://graphics.ics.uci.edu

  25. The End • Thank you! • Questions? • Comments? • Suggestions? http://graphics.ics.uci.edu

More Related