Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification

Similar documents
Subdivision Surfaces. Homework 1: Last Time? Today. Bilinear Patch. Tensor Product. Spline Surfaces / Patches

Subdivision Surfaces. Homework 1: Questions/Comments?

Subdivision Surfaces. Homework 1: Questions on Homework? Last Time? Today. Tensor Product. What s an illegal edge collapse?

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

Adjacency Data Structures

Curves & Surfaces. Last Time? Today. Readings for Today (pick one) Limitations of Polygonal Meshes. Today. Adjacency Data Structures

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker. Herbst 2010

Curves and Curved Surfaces. Adapted by FFL from CSE167: Computer Graphics Instructor: Ronen Barzel UCSD, Winter 2006

Today. Curves & Surfaces. Can We Disguise the Facets? Limitations of Polygonal Meshes. Better, but not always good enough

3D Modeling Parametric Curves & Surfaces. Shandong University Spring 2013

CSE 167: Introduction to Computer Graphics Lecture #13: Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2017

Curves. Computer Graphics CSE 167 Lecture 11

3D Modeling Parametric Curves & Surfaces

Curves and Surfaces 1

Last Time: Curves & Surfaces. Today. Questions? Limitations of Polygonal Meshes. Can We Disguise the Facets?

Spline Curves. Color Interpolation. Normal Interpolation. Last Time? Today. glshademodel (GL_SMOOTH); Adjacency Data Structures. Mesh Simplification

CSE 167: Introduction to Computer Graphics Lecture #11: Bezier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2016

CSE 167: Introduction to Computer Graphics Lecture 12: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2013

To Do. Resources. Algorithm Outline. Simplifications. Advanced Computer Graphics (Spring 2013) Surface Simplification: Goals (Garland)

Bezier Curves, B-Splines, NURBS

Introduction to Computer Graphics

Physically-Based Modeling and Animation. University of Missouri at Columbia

2D Spline Curves. CS 4620 Lecture 13

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

Until now we have worked with flat entities such as lines and flat polygons. Fit well with graphics hardware Mathematically simple

3D Modeling techniques

Shape Representation Basic problem We make pictures of things How do we describe those things? Many of those things are shapes Other things include

Curves and Surfaces 2

CHAPTER 1 Graphics Systems and Models 3

2D Spline Curves. CS 4620 Lecture 18

Computer Graphics Curves and Surfaces. Matthias Teschner

Computer Graphics CS 543 Lecture 13a Curves, Tesselation/Geometry Shaders & Level of Detail

Information Coding / Computer Graphics, ISY, LiTH. Splines

Central issues in modelling

Intro to Curves Week 4, Lecture 7

The Free-form Surface Modelling System

11/1/13. Polygon Meshes and Implicit Surfaces. Shape Representations. Polygon Models in OpenGL. Modeling Complex Shapes

B-spline Curves. Smoother than other curve forms

Shading. Introduction to Computer Graphics Torsten Möller. Machiraju/Zhang/Möller/Fuhrmann

Review of Tuesday. ECS 175 Chapter 3: Object Representation

INF3320 Computer Graphics and Discrete Geometry

Computer Graphics I Lecture 11

For each question, indicate whether the statement is true or false by circling T or F, respectively.

3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)

Mesh Repairing and Simplification. Gianpaolo Palma

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

Curves D.A. Forsyth, with slides from John Hart

Curves and Surfaces Computer Graphics I Lecture 10

Lecture IV Bézier Curves

Computer Graphics 1. Chapter 2 (May 19th, 2011, 2-4pm): 3D Modeling. LMU München Medieninformatik Andreas Butz Computergraphik 1 SS2011

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Chapter 4-3D Modeling

CS354 Computer Graphics Surface Representation IV. Qixing Huang March 7th 2018

Sung-Eui Yoon ( 윤성의 )

3D Modeling: Surfaces

Polygon Meshes and Implicit Surfaces

An introduction to interpolation and splines

Polygon Meshes and Implicit Surfaces

Advanced Graphics. Beziers, B-splines, and NURBS. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Advanced Computer Graphics

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles

All the Polygons You Can Eat. Doug Rogers Developer Relations

VALLIAMMAI ENGINEERING COLLEGE

Homework 1: Implicit Surfaces, Collision Detection, & Volumetric Data Structures. Loop Subdivision. Loop Subdivision. Questions/Comments?

Know it. Control points. B Spline surfaces. Implicit surfaces

Further Graphics. Bezier Curves and Surfaces. Alex Benton, University of Cambridge Supported in part by Google UK, Ltd

Rendering Curves and Surfaces. Ed Angel Professor of Computer Science, Electrical and Computer Engineering, and Media Arts University of New Mexico

Curves and Surfaces Computer Graphics I Lecture 9

CS 536 Computer Graphics Intro to Curves Week 1, Lecture 2

Dgp _ lecture 2. Curves

Surface Modeling. Polygon Tables. Types: Generating models: Polygon Surfaces. Polygon surfaces Curved surfaces Volumes. Interactive Procedural

Curves and Surfaces for Computer-Aided Geometric Design

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

GEOMETRIC LIBRARY. Maharavo Randrianarivony

Schedule. Curves & Surfaces. Questions? Last Time: Today. Limitations of Polygonal Meshes. Acceleration Data Structures.

CS130 : Computer Graphics Curves (cont.) Tamar Shinar Computer Science & Engineering UC Riverside

Adjacency Data Structures

Subdivision Surfaces

Topics and things to know about them:

Intro to Curves Week 1, Lecture 2

Shape modeling Modeling technique Shape representation! 3D Graphics Modeling Techniques

Mesh Decimation Using VTK

Fall CSCI 420: Computer Graphics. 4.2 Splines. Hao Li.

Geometric Features for Non-photorealistiic Rendering

Curves, Surfaces and Recursive Subdivision

Subdivision Surfaces

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a

The Traditional Graphics Pipeline

Design considerations

Direct Rendering of Trimmed NURBS Surfaces

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662

Smooth Surfaces from 4-sided Facets

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview

Interactive Graphics. Lecture 9: Introduction to Spline Curves. Interactive Graphics Lecture 9: Slide 1

Ray Casting of Trimmed NURBS Surfaces on the GPU

Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement

Introduction to Geometry. Computer Graphics CMU /15-662

Intro to Modeling Modeling in 3D

Lecture 25: Bezier Subdivision. And he took unto him all these, and divided them in the midst, and laid each piece one against another: Genesis 15:10

Transcription:

Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission view-dependent refinement Progressive Meshes Mesh Simplification vertex split / edge collapse (only one operation!) geometry & discrete/scalar attributes priority queue Level of Detail geomorphs Progressive Transmission Mesh Compression Selective Refinement view dependent Selective Refinement

Preserving Discontinuity Curves Other Simplification Strategies Remove a vertex & surrounding triangles, re-triangulate the hole Merge Nearby Vertices will likely change the topology from Garland & Heckbert, Surface Simplification Using Quadric Error Metrics SIGGRAPH 1997 When to Preserve Topology? Quadric Error Simplification Contract (merge) vertices vi and vj if: (vi, vj) is an edge, or vi vj < t, where t is a threshold parameter Track cumulative error by summing 4x4 quadric error matrices after each operation: from Garland & Heckbert, Surface Simplification Using Quadric Error Metrics SIGGRAPH 1997 Garland & Heckbert, Surface Simplification Using Quadric Error Metrics SIGGRAPH 1997

Judging Element Quality Reading for Today (option A) How equilateral are the elements? For Triangles? Ratio of shortest to longest edge Ratio of area to perimeter2 Smallest angle Ratio of area to area of smallest circumscribed circle For Tetrahedra? Ratio of volume2 to surface area3 Smallest solid angle Ratio of volume to volume of smallest circumscribed sphere Reading for Today (option B) "Teddy: A Sketching Interface for 3D Freeform Design", Igarashi et al., SIGGRAPH 1999 How do we represent objects that don t have flat polygonal faces & sharp corners? What are the right tools to design/construct digital models of blobby, round, or soft things? What makes a user interface intuitive, quick, and easy-to-use for beginners? Today Limitations of Polygonal Models Interpolating Color & Normals in OpenGL Some Modeling Tools & Definitions What's a Spline? "Geometry Images", Gu, Gortler, & Hoppe, SIGGRAPH 2002 Can we leverage existing image formats and image compression methods to store geometry? How do we take a complex 3D shape an unroll/flatten/stretch it to a square image? File size? Quality? Interpolation Curves vs. Approximation Curves Linear Interpolation Bézier Spline BSpline (NURBS) Extending to Surfaces Tensor Product

Limitations of Polygonal Meshes Color & Normal Interpolation Planar facets (& silhouettes) Fixed resolution Deformation is difficult No natural parameterization (for texture mapping) Incorrect collision detection Solid texturing problems It s easy in OpenGL to specify different colors and/or normals at the vertices of triangles: Why is this useful? What is Gouraud Shading? Phong Normal Interpolation (Not Phong Shading) Instead of shading with the normal of the triangle, we ll shade the vertices with the average normal and interpolate the shaded color across each face Interpolate the average vertex normals across the face and compute per-pixel shading ray tracing scan conversion flat shading scan conversion gouraud shading Normals should be re-normalized (ensure length=1) This gives the illusion of a smooth surface with smoothly varying normals How do we compute Average Normals? Is it expensive?? Before shaders, per-pixel shading was not possible in hardware (Gouraud shading is actually a decent substitute!)

Some Non-Polygonal Modeling Tools Continuity definitions: C0 continuous curve/surface has no breaks/gaps/holes G1 continuous Extrusion Surface of Revolution tangent at joint has same direction C1 continuous curve/surface derivative is continuous tangent at joint has same direction and magnitude Cn continuous Spline Surfaces/Patches Questions? Quadrics and other implicit polynomials curve/surface through nth derivative is continuous important for shading Shape Optimization Using Reflection Lines, Tosun et al., 2007 Today Limitations of Polygonal Models Interpolating Color & Normals in OpenGL Some Modeling Tools & Definitions What's a Spline? Interpolation Curves vs. Approximation Curves Linear Interpolation Bézier Spline BSpline (NURBS) Extending to Surfaces Tensor Product

Definition: What's a Spline? Interpolation Curves / Splines Smooth curve defined by some control points Moving the control points changes the curve Interpolation Bézier (approximation) BSpline (approximation) www.abm.org Interpolation Curves Linear Interpolation Curve is constrained to pass through all control points Simplest "curve" between two points Q(t) = Spline Basis Functions a.k.a. Blending Functions Given points P0, P1,... Pn, find lowest degree polynomial which passes through the points x(t) = an-1tn-1 +... + a2t2 + a1t + a0 y(t) = bn-1tn-1 +... + b2t2 + b1t + b0

Interpolation vs. Approximation Curves Interpolation vs. Approximation Curves Interpolation Curve over constrained lots of (undesirable?) oscillations Approximation Curve more reasonable? Interpolation Approximation curve must pass through control points curve is influenced by control points Questions? Today Limitations of Polygonal Models Interpolating Color & Normals in OpenGL Some Modeling Tools & Definitions What's a Spline? Interpolation Curves vs. Approximation Curves Linear Interpolation Bézier Spline BSpline (NURBS) Extending to Surfaces Tensor Product

Cubic Bézier Curve Cubic Bézier Curve 4 control points Curve passes through first & last control point Curve is tangent at P1 to (P2-P1) and at P4 to (P4-P3) de Casteljau's algorithm for constructing Bézier curves t t t t t t A Bézier curve is bounded by the convex hull of its control points. Cubic Bézier Curve Connecting Cubic Bézier Curves Asymmetric: Curve goes through some control points but misses others Bernstein Polynomials How can we guarantee C0 continuity? How can we guarantee G1 continuity? How can we guarantee C1 continuity? Can t guarantee higher C2 or higher continuity

Connecting Cubic Bézier Curves Where is this curve 0 C continuous? G1 continuous? C1 continuous? What s the relationship between: the # of control points, and the # of cubic Bézier subcurves? Questions? Higher-Order Bézier Curves > 4 control points Bernstein Polynomials as the basis functions Every control point affects the entire curve Not simply a local effect More difficult to control for modeling Today Limitations of Polygonal Models Interpolating Color & Normals in OpenGL Some Modeling Tools & Definitions What's a Spline? Interpolation Curves vs. Approximation Curves Linear Interpolation Bézier Spline BSpline (NURBS) Extending to Surfaces Tensor Product

Cubic BSplines Cubic BSplines 4 control points Locally cubic Curve is not constrained to pass through any control points Iterative method for constructing BSplines A BSpline curve is also bounded by the convex hull of its control points. Cubic BSplines Shirley, Fundamentals of Computer Graphics Connecting Cubic BSpline Curves Can be chained together Better control locally (windowing)

Connecting Cubic BSpline Curves BSpline Curve Control Points What s the relationship between the # of control points, and the # of cubic BSpline subcurves? Default BSpline BSpline with Discontinuity Repeat interior control point Bézier is not the same as BSpline BSpline which passes through end points Repeat end points Bézier is not the same as BSpline Relationship to the control points is different Bézier BSpline Bézier BSpline

Converting between Bézier & BSpline original control points as Bézier new Bézier control points to match BSpline new BSpline control points to match Bézier Converting between Bézier & BSpline Using the basis functions: original control points as BSpline NURBS (generalized BSplines) Neat Bezier Spline Trick BSpline: uniform cubic BSpline A Bezier curve with 4 control points: P0 NURBS: Non-Uniform Rational BSpline non-uniform = different spacing between the blending functions, a.k.a. knots rational = ratio of polynomials (instead of cubic) P1 P2 P3 Can be split into 2 new Bezier curves: P0 P 1 P 2 P 3 P 3 P 4 P 5 P3 A Bézier curve is bounded by the convex hull of its control points.

Pop Worksheet! Teams of 2. NOT EITHER OF PEOPLE YOU WORKED WITH LAST WEEK! Hand in to Jeramey after we discuss. What is the minimum number of cubic Bezier curve segments needed to approximately reproduce the two curves below? Sketch the positions of the control vertices. Today Limitations of Polygonal Models Interpolating Color & Normals in OpenGL Some Modeling Tools & Definitions What's a Spline? Interpolation Curves vs. Approximation Curves Linear Interpolation Bézier Spline BSpline (NURBS) Extending to Surfaces Tensor Product Repeat for cubic BSplines curve segments. Spline Surface via Tensor Product Of two vectors: Similarly, we can define a surface as the tensor product of two curves... Farin, Curves and Surfaces for Computer Aided Geometric Design Bilinear Patch

Bilinear Patch Smooth version of quadrilateral with non-planar vertices... Ruled Surfaces in Art & Architecture http://www.bergenwood.no/wp-content/media/images/frozenmusic.jpg Chiras Iulia Astri Isabella Matiss Shteinerts Antoni Gaudi Children s School Barcelona But will this help us model smooth surfaces? Do we have control of the derivative at the edges? http://www.lonelyplanetimages.com/images/399954 Bicubic Bezier Patch Editing Bicubic Bezier Patches Curve Basis Functions Surface Basis Functions

Bicubic Bezier Patch Tessellation Modeling with Bicubic Bezier Patches Given 16 control points and a tessellation resolution, we can create a triangle mesh Original Teapot specified with Bezier Patches resolution: 5x5 vertices resolution: 11x11 vertices resolution: 41x41 vertices Trimming Curves for Patches But it s not "watertight": it has intersecting surfaces at spout & handle, no bottom, a hole at the spout tip, a gap between lid & base Spline-Based Modeling Headaches seams & holes pinched surfaces irregular sampling Shirley, Fundamentals of Computer Graphics

Readings for Friday (pick one) Questions? Hoppe et al., Piecewise Smooth Surface Reconstruction SIGGRAPH 1994 Bezier Patches? or DeRose, Kass, & Truong, "Subdivision Surfaces in Character Animation", SIGGRAPH 1998 Triangle Mesh? Henrik Wann Jensen Homework 1: Questions/Comments? Post a comment or question on the LMS discussion by 10am on Tuesday