Sketching Freeform Surfaces Using Network of Curves - PowerPoint PPT Presentation

1 / 25
About This Presentation
Title:

Sketching Freeform Surfaces Using Network of Curves

Description:

Free-form shapes. Easy to learn interface. Artists can draw! ... http://graphics.ics.uci.edu. 3. Problem description. Generation of networks of free-form curves ... – PowerPoint PPT presentation

Number of Views:87
Avg rating:3.0/5.0
Slides: 26
Provided by: ics9
Category:

less

Transcript and Presenter's Notes

Title: Sketching Freeform Surfaces Using Network of Curves


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

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

5
Networks of curves
  • Whats 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

6
Networks of curves2D/3D ambiguities
?
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
8
Networks of curves
  • What are the challenges in its creation?
  • Allow transformations without complicating
    interface
  • Early 2D to 3D conversion
  • Depth interpolation

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

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

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

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

15
Surface generationTopological triangulation
  • Why the name?
  • The location doesnt 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

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

18
Results
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

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

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

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

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

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

25
The End
  • Thank you!
  • Questions?
  • Comments?
  • Suggestions?
Write a Comment
User Comments (0)
About PowerShow.com