sketching free form surfaces using network of curves
Download
Skip this Video
Download Presentation
Sketching Free-form Surfaces Using Network of Curves

Loading in 2 Seconds...

play fullscreen
1 / 25

Sketching Free-form Surfaces Using Network of Curves - PowerPoint PPT Presentation


  • 357 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Sketching Free-form Surfaces Using Network of Curves' - ryanadan


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
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
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

problem description
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

talk outline
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

networks of curves
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

networks of curves 2d 3d ambiguities
Networks of curves2D/3D ambiguities

?

http://graphics.ics.uci.edu

networks of curves granularity of 2d 3d
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

networks of curves8
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

networks of curves from 2d to 3d
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

networks of curves depth interpolation
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

networks of curves depth interpolation11
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

talk outline12
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

surface generation
Surface generation
  • Two steps problem
    • Identification of surface patches
    • Surface generation (skinning)
  • We focus on skinning
  • Manifolds without boundaries

http://graphics.ics.uci.edu

surface generation normals
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

surface generation topological triangulation
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

surface generation vertex relocation 2d diagram
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

talk outline17
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

results
Results

http://graphics.ics.uci.edu

talk outline19
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

slide20
Demo
  • Disclaimer:
    • Normal calculations
    • Patch identification
    • Numerical stability of the surface generation
  • Cross your fingers…

http://graphics.ics.uci.edu

talk outline21
Talk outline
  • Problem description
  • Networks of Curves
    • Depth interpolation
  • Surface Generation
    • Normals
    • Topological triangulation
    • Vertex relocation
  • Results
  • Demo
  • Conclusion

http://graphics.ics.uci.edu

summary
Summary
  • Curvature minimizing depth interpolation
  • Simple surface generation scheme
  • Still work in progress!

http://graphics.ics.uci.edu

future work
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

acknowledgements
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

the end
The End
  • Thank you!
  • Questions?
  • Comments?
  • Suggestions?

http://graphics.ics.uci.edu

ad