Sketching free form surfaces using network of curves
Download
1 / 25

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


  • 351 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 l.jpg

Sketching Free-form Surfaces Using Network of Curves

Koel Das

Pablo Diaz-Gutierrez

M. Gopi

University of California, Irvine


Motivation l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Networks of curves2D/3D ambiguities

?

http://graphics.ics.uci.edu


Networks of curves granularity of 2d 3d l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
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 l.jpg
Results

http://graphics.ics.uci.edu


Talk outline19 l.jpg
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 l.jpg
Demo

  • Disclaimer:

    • Normal calculations

    • Patch identification

    • Numerical stability of the surface generation

  • Cross your fingers…

http://graphics.ics.uci.edu


Talk outline21 l.jpg
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 l.jpg
Summary

  • Curvature minimizing depth interpolation

  • Simple surface generation scheme

  • Still work in progress!

http://graphics.ics.uci.edu


Future work l.jpg
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 l.jpg
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 l.jpg
The End

  • Thank you!

  • Questions?

  • Comments?

  • Suggestions?

http://graphics.ics.uci.edu


ad