Loading in 5 sec....

Sketching Free-form Surfaces Using Network of CurvesPowerPoint Presentation

Sketching Free-form Surfaces Using Network of Curves

- 357 Views
- Uploaded on

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

Talk outline

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

- 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

- Flexible:

http://graphics.ics.uci.edu

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

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

- 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

- Both endpoints free

http://graphics.ics.uci.edu

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

- Find extremal deviation points

Z0

Z0+(Z1-Z0)*0.25

Z0+(Z1-Z0)*0.75

Z0+(Z1-Z0)*0.5

Z1

http://graphics.ics.uci.edu

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

- Two steps problem
- Identification of surface patches
- Surface generation (skinning)

- We focus on skinning
- Manifolds without boundaries

http://graphics.ics.uci.edu

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

http://graphics.ics.uci.edu

- 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

Demo

- Disclaimer:
- Normal calculations
- Patch identification
- Numerical stability of the surface generation

- Cross your fingers…

http://graphics.ics.uci.edu

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

- Curvature minimizing depth interpolation
- Simple surface generation scheme
- Still work in progress!

http://graphics.ics.uci.edu

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

- 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

Download Presentation

Connecting to Server..