Illustrating Smooth Surfaces Aaron Hertzmann Denis Zorin New York University Presented by Mark Blackburn, Fall 2005.

Slides:



Advertisements
Similar presentations
Developable Surface Fitting to Point Clouds Martin Peternell Computer Aided Geometric Design 21(2004) Reporter: Xingwang Zhang June 19, 2005.
Advertisements

Sorce: Suggestive Contours for Conveying Shape. (SIGGRAPH 2003) Doug DeCarlo, Adam Finkelstein, Szymon Rusinkiewicz, Anthony Santella. 1 Suggestive Contours.
GE1X01 ENGINEERING GRAPHICS
ENTC 1110 Multiview Drawings.
Non-Photorealistic Rendering FORMS. Mesh (~170) Parametric (~16) Implicit/CSG (~9) Volumetric (~28) 3D Object Representation in NPR Point Cloud (~4)
Extended Gaussian Images
Discrete Geometry Tutorial 2 1
Dual Marching Cubes: An Overview
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2013.
1Ellen L. Walker Edges Humans easily understand “line drawings” as pictures.
Computing 3D Geometry Directly From Range Images Sarah F. Frisken and Ronald N. Perry Mitsubishi Electric Research Laboratories.
Segmentation into Planar Patches for Recovery of Unmodeled Objects Kok-Lim Low COMP Computer Vision 4/26/2000.
Mesh Simplification Global and Local Methods:
lecture 4 : Isosurface Extraction
Bounded-distortion Piecewise Mesh Parameterization
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Modelling. Outline  Modelling methods  Editing models – adding detail  Polygonal models  Representing curves  Patched surfaces.
Technical Sketching Chapter 3. 2 Technical Drawing 13 th Edition Giesecke, Mitchell, Spencer, Hill Dygdon, Novak, Lockhart © 2009 Pearson Education, Upper.
Implicit Surfaces Tom Ouyang January 29, Outline Properties of Implicit Surfaces Polygonization Ways of generating implicit surfaces Applications.
Computer-Generated Pen-and-Ink Illustration Georges Winkenbach and David H. Salesin University of Washington SIGGRAPH 1994.
Painterly Rendering for Animation Barbara J. Meier Walt Disney Feature Animation SIGGRAPH 96.
Modeling and representation 1 – comparative review and polygon mesh models 2.1 Introduction 2.2 Polygonal representation of three-dimensional objects 2.3.
Morphological Analysis of 3D Scalar Fields based on Morse Theory and Discrete Distortion Mohammed Mostefa Mesmoudi Leila De Floriani Paola Magillo Dept.
Polygon Shading. Assigning color to a shape to make graphical scenes look realistic, or artistic, or whatever effect we’re attempting to achieve But first.
COMP 175: Computer Graphics March 24, 2015
11/19/02 (c) 2002, University of Wisconsin, CS 559 Last Time Many, many modeling techniques –Polygon meshes –Parametric instancing –Hierarchical modeling.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
CrossShade: Shading Concept Sketches Using Cross-section Curves Presenter: Feilong Yan.
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm William E. Lorenson Harvey E. Cline General Electric Company Corporate Research and.
Visible-Surface Detection Jehee Lee Seoul National University.
1 Manifolds from meshes Cindy Grimm and John Hughes, “Modeling Surfaces of Arbitrary Topology using Manifolds”, Siggraph ’95 J. Cotrina Navau and N. Pla.
Global Parametrization of Range Image Sets Nico Pietroni, Marco Tarini, Olga Sorkine, Denis Zorin.
Lumo: Illumination for Cel Animation Scott F. Johnston.
Copyright © Curt Hill Visualization of 3D Worlds How are these images described?
Andrew Nealen / Olga Sorkine / Mark Alexa / Daniel Cohen-Or SoHyeon Jeong 2007/03/02.
Computer Graphics Basic 3D Geometry CO2409 Computer Graphics Week 5-1.
Geometric Modeling using Polygonal Meshes Lecture 3: Discrete Differential Geometry and its Application to Mesh Processing Office: South B-C Global.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Artistic Surface Rendering Using Layout Of Text Tatiana Surazhsky Gershon Elber Technion, Israel Institute of Technology.
CS 325 Introduction to Computer Graphics 03 / 29 / 2010 Instructor: Michael Eckmann.
Ship Computer Aided Design MR 422. Geometry of Curves 1.Introduction 2.Mathematical Curve Definitions 3.Analytic Properties of Curves 4.Fairness of Curves.
TECH 104 – Technical Graphics Communication Introduction to Engineering Graphics Communication.
Geometric Modeling with Conical Meshes and Developable Surfaces SIGGRAPH 2006 Yang Liu, Helmut Pottmann, Johannes Wallner, Yong-Liang Yang and Wenping.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Handle By, S.JENILA AP/IT
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
1Ellen L. Walker 3D Vision Why? The world is 3D Not all useful information is readily available in 2D Why so hard? “Inverse problem”: one image = many.
Visualizing the Evolutions of Silhouettes Junfei Dai Junho Kim Huayi Zeng Xianfeng Gu.
1/57 CS148: Introduction to Computer Graphics and Imaging Geometric Modeling CS148 Lecture 6.
Real Time Nonphotorealistic Rendering. How to achieve real time NPR? Economy of line: present a lot of information with very few strokes. Silhouettes.
Painterly Rendering for Animation Introduction speaks of focus and detail –Small brush strokes focus and provide detail –Large strokes are abstract and.
Ship Computer Aided Design
Introduction to Meshes Lecture 22 Mon, Oct 20, 2003.
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Non-Photorealistic Rendering FORMS. Model dependent Threshold dependent View dependent Outline form of the object Interior form of the object Boundary.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Processing Images and Video for An Impressionist Effect Automatic production of “painterly” animations from video clips. Extending existing algorithms.
Acquiring, Stitching and Blending Diffuse Appearance Attributes on 3D Models C. Rocchini, P. Cignoni, C. Montani, R. Scopigno Istituto Scienza e Tecnologia.
Illumination and Shading. Illumination (Lighting) Model the interaction of light with surface points to determine their final color and brightness OpenGL.
Algorithms and Networks
Chapter 4 Creating Placed Features
Photorealistic Rendering vs. Interactive 3D Graphics
Sketching.
3D Object Representations
Domain-Modeling Techniques
Procedural Animation Lecture 3: Types of 3D models
Chapter 14 Shading Models.
Presentation transcript:

Illustrating Smooth Surfaces Aaron Hertzmann Denis Zorin New York University Presented by Mark Blackburn, Fall 2005

Organization 1.Motivation 2.Contributions 3.Related Work 4.Process 5.Results 6.Conclusion & Future Work

Motivation Silhouette drawing often insufficient for drawing objects that are complex or free-form. A smooth object may have no visible silhouette lines except the outer silhouette and all the information inside the silhouette may be lost (cf. Figure 1) Adding lines can convey the complexity of the shape Line drawing often conveys info better than a photograph. Figure 1

Contributions Three Algorithms 1.Silhouette detection 2.Cusp detection and segmentation 3.Computing smooth direction fields

Related Work Image-space vs. Object-space NPR Silhouette detection –Randomized algorithm (fast, but does not guarantee to find all surfaces) –Gauss map (only works in orthographic projection) This paper presents an algorithm that is fast, deterministic, and is applicable to orthographic as well as perspective projections

Related Work Computing smooth direction fields: –Parametric lines on NURBS Parameterization does not exist for many types of surfaces –Principal Curvature Hatching Can’t be reliably or uniquely computed at many surface points –Intersections of the surfaces with planes Requires segmentation of the surface into parts where different groups of planes are used Plane orientations computed using skeletons relate only indirectly to the local surface properties

Process Overview Input: Polygonal Mesh (Stage 1) Hatch Direction Field: Defines a view-independent cross- field that can be used later to generate hatches (Stage 2) Silhouette Curve computation: Computes all curves, creases, cusps, and determines the visibility and segmentation of all silhouette curves (Stage 3) Hatch Generation: Divides surface into four levels of brightness (highlights, midtones, shadows, and undercuts) and generates hatches for each area of the surface Output: Illustrated Image

Stage 1:Hatch Fields Determine hatch direction fields for entire surface Choice of direction field algorithm guided by these three observations: 1.Surface geometry is rendered best by principal curvature directions on cylindrical surfaces 2.Isoparametric lines work well as curvature directions when a parameterization exists and is close to isometric 3.Artists tend to use relatively straight hatch lines, even when the surface has wrinkles. Smaller details are conveyed by varying the density and the number of hatch directions.

Stage 1:Hatch Fields Simple requirements for hatching fields In areas where the surface is close to parabolic, the field should be close to principal curvature directions On the whole surface, the integral curves of the fields should be close to geodesic If the surface has small details, the field should be generated using a smoothed version of the surface

Stage 1:Hatch Fields Four steps to determine hatch direction field 1.(Optional) Create a smoothed copy of the original mesh (User specified) 2.Identify areas of surface which are sufficiently close to parabolic 3.Initialize field over the surface by computing principal curvature directions 4.Fix the quasi-parabolic areas and *optimize* the rest of the vertices.

Stage 1:Hatch Fields (a)Silhouettes alone do not convey the interior shape of the surface. (b)Raw principle curvature directions produce an overly-complex hatching pattern. (c)Smooth cross field produced by optimization.

Stage 1:Hatch Fields (d)Hatching with the smooth cross field. (e)Very smooth cross field produced by optimizing all directions. (f)Hatching from the very smooth field.

Stage 2: Silhouette Curves Definition A silhouette drawing includes only the images of the most visually important curves on the surface: boundaries, creases, silhouette lines, and self-intersection lines

Stage 2: Silhouette Curves Problem: There are significant differences between the silhouettes of smooth surfaces and their approximating polygonal meshes For polygonal meshes, complex cusps, where several silhouette chains meet, are stable (do not disappear when the viewpoint is perturbed) For smooth surfaces, the only type of stable singularity is a simple cusp.

Stage 2: Silhouette Curves Examples

Stage 2: Silhouette Curves Silhouette detection : –First, we find the silhouette set –Silhouette set is the set of points p of the surface such that: g(p) = (n(p) (p-c)) = 0 –We compute an approximation to g(p) by computing the true surface normal and g(p) for each vertex and then linearly interpolating the values of the function. –The zero set of this function will consist of line segments inside each triangle of the polygonal approximation.

Stage 2: Silhouette Curves Cusp Detection: cusps are the points where the tangent plane is parallel to the view direction Cusp function: C(p) = K 1 (v w 1 ) 2 +K 2 (v w 2 ) 2 K1, K2K1, K2 Principle curvatures v View dir (Viewpoint – surface point) w 1, w 2 Principle curvature directions

Stage 2: Silhouette Curves Cusps are contained in the intersection set of the two families of curves: the zero set of g(p) and zero set of C(p). Cusps = { g(p) = 0  C(p) = 0} Silhouette curve Cusp zero set

Stage 2: Silhouette Curves Optimization: Eliminate need to traverse entire mesh. Duality Map: Map surface M  M’ M’ can be obtained by mapping each point of M to a homogeneous point N = [n 1, n 2, n 3, - (p n)] where n = [n 1, n 2, n 3,0] is the unit normal at p.

Stage 2: Silhouette Curves If we let C = [c 1, c 2, c 3, c 4 ] be our viewpoint in the homogeneous form, then the silhouette of the surface consists of all points p for which C is in the tangent plane at that point. Finding the surface is reduced to the problem of intersecting a plane with a surface for which many space-partition-based acceleration techniques are available.

Stage 2: Silhouette Curves Yellow arrowvector c from origin to viewpoint Yellow circleintersection of plane ┴ to c, through origin and unit sphere Cyan Pointsa silhouette point and its dual Dual Map

Stage 2: Silhouette Curves Planar Projections

Stage 2: Silhouette Curves Fast Silhouette Detection 1.For each vertex p, with normal n, we compute the dual position N = [n 1, n 2, n 3, - (p n)] 2.Normalize each dual position N using l ∞ -norm 3.Each triangle of dual mesh is assigned to a list for every 3D space in which it has a vertex 4.An octree is constructed for each 3D face and the triangles assigned to this face are placed in the octree

Stage 3: Hatch Generation Surface is separated into four levels of hatching: LevelHatching Highlights & Mach BandsNone MidtonesSingle hatching Shadowed RegionsCross-Hatching UndercutsDense Cross-Hatching

Stage 3: Hatch Generation (a)3 Densities: highlights, midtones, and shadows, corresponding to 0, 1, and 2 directions of hatches (b)Undercuts (c)“Mach bands.” Undercuts and Mach bands increase contrast where surfaces overlap.

Stage 3: Hatch Generation Basic rules: –If there is an undercut, on the other side of the silhouette from a fold, a thin area along the silhouette on the fold side is not hatched –Undercuts are densely hatched –Hatches are approximately straight –Optionally, hatch thickness within each density level can be made inversely proportional to lighting

Stage 3: Hatch Generation Hatching has several user tunable parameters: 1.Basic hatch density 2.Hatch density for undercuts 3.Threshold for highlights 4.Threshold for transition from single to cross hatch 5.Max hatch length 6.Max hatch deviation from initial direction Varying these parameters has considerable effect both on the appearance of the images and the time required by the algorithm

Stage 3: Hatch Generation Hatch placement process: 1.Identify Mach bands and undercuts 2.Cover single and cross-hatch regions with cross hatches, and add extra hatches to undercut regions 3.Remove cross-hatches in the single hatch regions, leaving only one direction of hatches

Stage 3: Hatch Generation Identifying Mach Bands –Step along each silhouette and boundary curve –Use ray test near each curve point to determine if fold overlaps another surface –Undercuts and Mach Bands are indicated in a 2D grid by marking every grid cell within a small distance of the fold on the near side of the surface as a Mach Band

Stage 3: Hatch Generation Cross-Hatching: –Create evenly spaced cross hatches on a surface –Creates a queue of surface curves –Dequeue each curve and seed it with cross-hatches by tracing direction of field –Hatches are also seeded parallel to other hatches (distance determined by tunable param) –Hatches are seeded perpendicular to all curves –A hatch continues along a curve until it terminates in a critical curve, deviates from direction more than ‘Max’ param, or until it comes near a parallel hatch

Stage 3: Hatch Generation Hatch Reduction –Once we have cross-hatched all hatch regions, we remove hatches from the single hatch regions until they contain no cross-hatches –Algorithm implicitly segments the visible single-hatch regions into locally consistent single hatching fields –Use a breadth-first traversal of hatches.

Results

Mathematical surfaces

Results

Conclusion Advantages: –Beautiful images that mirror pen-and-ink illustrations –Technique can be used in orthographic or perspective projections –User tunable Disadvantages: –Performance varies significantly based on parameters and model (seconds to minutes) –Parameters have to be chosen carefully which may take several iterations to get desired result

Future Work Improvements should be made to the silhouette visibility algorithm Performance speedups are possible Reduce the number of user parameters Hatch reduction algorithm could be more robust

References Aaron Hertzmann and Denis Zorin, "Illustrating Smooth Surfaces," Siggraph 00, pp