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

Similar documents
Appearance Preservation

Computergrafik. Matthias Zwicker Universität Bern Herbst 2016

Computergrafik. Matthias Zwicker. Herbst 2010

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

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

3D Modeling Parametric Curves & Surfaces

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

Rational Bezier Curves

Curves and Surfaces Computer Graphics I Lecture 9

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein)

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

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

Sung-Eui Yoon ( 윤성의 )

Curves and Surfaces 1

Curves and Surfaces 2

Surface Simplification Using Quadric Error Metrics

An introduction to interpolation and splines

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

Curves and Surfaces for Computer-Aided Geometric Design

Curves and Surfaces Computer Graphics I Lecture 10

Subdivision Surfaces. Homework 1: Questions/Comments?

COMPUTER AIDED GEOMETRIC DESIGN. Thomas W. Sederberg

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

Bezier Curves, B-Splines, NURBS

GL9: Engineering Communications. GL9: CAD techniques. Curves Surfaces Solids Techniques

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

2D Spline Curves. CS 4620 Lecture 13

(Refer Slide Time: 00:02:24 min)

Curves & Surfaces. MIT EECS 6.837, Durand and Cutler

ECE 600, Dr. Farag, Summer 09

The Free-form Surface Modelling System

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9.

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

B-spline Curves. Smoother than other curve forms

2D Spline Curves. CS 4620 Lecture 18

Curve and Surface Basics

CSE 554 Lecture 6: Fairing and Simplification

Information Coding / Computer Graphics, ISY, LiTH. Splines

Geometric Modeling. Mesh Decimation. Mesh Decimation. Applications. Copyright 2010 Gotsman, Pauly Page 1. Oversampled 3D scan data

Parametric curves. Brian Curless CSE 457 Spring 2016

Introduction p. 1 What Is Geometric Modeling? p. 1 Computer-aided geometric design Solid modeling Algebraic geometry Computational geometry

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

Geometric Features for Non-photorealistiic Rendering

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics

Geometric Modeling of Curves

Introduction to Computer Graphics

OUTLINE. Quadratic Bezier Curves Cubic Bezier Curves

Bézier Splines. B-Splines. B-Splines. CS 475 / CS 675 Computer Graphics. Lecture 14 : Modelling Curves 3 B-Splines. n i t i 1 t n i. J n,i.

PS Geometric Modeling Homework Assignment Sheet I (Due 20-Oct-2017)

Rational Bezier Surface

Les Piegl Wayne Tiller. The NURBS Book. Second Edition with 334 Figures in 578 Parts. A) Springer

u 0+u 2 new boundary vertex

Curves. Computer Graphics CSE 167 Lecture 11

Properties of Quadratic functions

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

COMP3421. Global Lighting Part 2: Radiosity

Curve Construction via Local Fitting

To Do. Assignment Overview. Outline. Mesh Viewer (3.1) Mesh Connectivity (3.2) Advanced Computer Graphics (Spring 2013)

09 - Designing Surfaces. CSCI-GA Computer Graphics - Fall 16 - Daniele Panozzo

CS 4620 Final Exam. (a) Is a circle C 0 continuous?

Curves and Surfaces. Shireen Elhabian and Aly A. Farag University of Louisville

NURBS: Non-Uniform Rational B-Splines AUI Course Denbigh Starkey

Design considerations

Math background. 2D Geometric Transformations. Implicit representations. Explicit representations. Read: CS 4620 Lecture 6

CS 475 / CS Computer Graphics. Modelling Curves 3 - B-Splines

Spring 2012 Final. CS184 - Foundations of Computer Graphics. University of California at Berkeley

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

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

Intro to Curves Week 1, Lecture 2

Parametric Curves. University of Texas at Austin CS384G - Computer Graphics Fall 2010 Don Fussell

Mesh Decimation. Mark Pauly

Dgp _ lecture 2. Curves

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

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

Lecture IV Bézier Curves

Need for Parametric Equations

Curves, Surfaces and Recursive Subdivision

Geometric Modeling Systems

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

MA 323 Geometric Modelling Course Notes: Day 03 The Design Problem

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

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification

Curves and Surfaces. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd

Intro to Modeling Modeling in 3D

Surfaces for CAGD. FSP Tutorial. FSP-Seminar, Graz, November

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

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link)

Mesh Repairing and Simplification. Gianpaolo Palma

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

Central issues in modelling

Advanced Texture-Mapping Curves and Curved Surfaces. Pre-Lecture Business. Texture Modes. Texture Modes. Review quiz

Digital Geometry Processing. Computer Graphics CMU /15-662

Mathematical Tools in Computer Graphics with C# Implementations Table of Contents

Adjacency Data Structures

Parameterization. Michael S. Floater. November 10, 2011

12.6 Cylinders and Quadric Surfaces

Parametric Surfaces. Michael Kazhdan ( /657) HB , FvDFH 11.2

Flank Millable Surface Design with Conical and Barrel Tools

Curves and Surfaces. CS475 / 675, Fall Siddhartha Chaudhuri

Computer Graphics. Curves and Surfaces. Hermite/Bezier Curves, (B-)Splines, and NURBS. By Ulf Assarsson

Transcription:

Advanced omputer Graphics (Spring 213) S 283, Lecture 6: Quadric Error Metrics Ravi Ramamoorthi To Do Assignment 1, Due Feb 22. Should have made some serious progress by end of week This lecture reviews uadric error metrics and some points regarding implementation http://inst.eecs.berkeley.edu/~cs283/sp13 Resources Garland and Heckbert SIGGRAPH 97 paper Garland website, implementation notes (in thesis) Notes in this and previous lectures Surface Simplification: Goals (Garland) Efficiency (7 to 1 faces in 15s in 1997) High uality, feature preserving (primary appearance emphasized rather than topology) Generality, non-manifold models, collapse disjoint regions Simplifications Algorithm Outline Pair contractions in addition to edge collapses Previously connected regions may come together 1

Quadric Error Metrics Based on point-to-plane distance Better uality than point-to-point d d c a d b a b c Background: omputing Planes Each triangle in mesh has associated plane ax + by + cz + d = For a triangle, find its (normalized) normal using cross products Plane euation? n = n = AB A AB A a b c n i v A i v = d = A i v Quadric Error Metrics Sum of suared distances from vertex to planes: Δ v = Dist(v,p) 2 v = x y z 1 p, p = a b c d Dist(v,p) = ax + by + cz + d = p T v Quadric Error Metrics Δ = (p T v) 2 p = v T pp T v p = v T pp T p v = v T Qv ommon mathematical trick: uadratic form = symmetric matrix Q multiplied twice by a vector Quadric Error Metrics Simply a 4x4 symmetric matrix Storage efficient: 1 floating point numbers per vertex Initially, error is for all vertices Quadric Error Metrics 2 nd degree polynomial in x, y and z Level surface (v T Qv = k) is a uadric surface Ellipsoid, paraboloid, hyperboloid, plane etc. 2

Quadric Visualization Ellipsoids: iso-error surfaces Smaller ellipsoid = greater error for a given motion Lower error for motion parallel to surface Lower error in flat regions than at corners Elongated in cylindrical regions Using Quadrics Approximate error of edge collapses Each vertex v has associated uadric Q Error of collapsing v 1 and v 2 to v is v T Q 1 v +v T Q 2 v Quadric for new vertex v is Q =Q 1 +Q 2 Using Quadrics Find optimal location v after collapse: 11 12 13 14 Q' = 12 22 24 13 33 34 14 24 34 44 min v' T Q'v' : = = = v' x y z Using Quadrics Algorithm Outline Find optimal location v after collapse: 11 12 13 14 12 22 24 v' = 13 33 34 1 1 11 12 13 14 v' = 12 22 24 13 33 34 1 1 1 3

Algorithm Summary Final Algorithm ompute the Q matrices for all the initial vertices Select all valid pairs ompute the optimal contraction target v for each valid pair. The error v T (Q 1 +Q 2 )v of this target vertex becomes the cost of contracting that pair Place all pairs in a heap keyed on cost with minimum cost pair on the top Iteratively remove the least cost pair, contract this pair, and update the costs of all valid pairs of interest Results Results Original Quadrics Original Quadrics 1k tris 1 tris 25 tris 25 tris, edge collapses only Additional Details Preserving boundaries/discontinuities (weight uadrics by appropriate penalty factors) Preventing mesh inversion (flipping of orientation): compare normal of neighboring faces, before after Has been modified for many other applications E.g. in silhouettes, want to make sure volume always increases, never decreases Take color and texture into account (followup paper) See paper, other more recent works for details Implementation Tips Incremental, test, debug, simple cases Find good data structure for heap etc. May help to visualize error uadrics if possible hallenging, but hopefully rewarding assignment 4

Issues or uestions? Questions? All the material for assignment covered Start early, work hard Rest of unit NURBs (today if time permits) Subdivision (next lecture) Outline Rational Splines Quadratic rational splines NURBs (briefly) Parametric patches (briefly) Parametric Polynomial urves A parametric polynomial curve of order n: x(u) = y(u) = i= a i u i Advantages of polynomial curves Easy to compute Infinitely differentiable everywhere n n i= b i u i Rational Splines an t represent certain shapes (e.g. circles) with piecewise polynomials Wider class of functions: rational functions Ratio of polynomials an represent any uadric (e.g. circles) exactly Mathematical trick: homogeneous coordinates Ratio of 2 polynomials in 3D euivalent to single polynomial in 4D Rational Splines Standard deasteljau Example: creating a circular arc with 3 control points A B (,1) (1,1) (???) (1 t)a+ tb (,) Polynomial spline: parabolic arc Rational spline: circular arc 5

Rational deasteljau A B w w A B Homogeneous deasteljau wa A wb B w w A B wa wb (1 t)w A A + tw B B (1 t)w A + tw B (1 t)w A A + tw B B (1 t)w A + tw B (1 t) waa + twbb (1 t) wa+ twb Non-rational splines simply have all weights set to 1 instead Outline Rational Splines Quadratic rational splines NURBs (briefly) Parametric patches (briefly) Evaluation: Rational Splines Add an extra weight coordinate Multiply standard coords of control point by weight (essentially the same as the use of homogeneous coords) Apply standard deasteljau or other evaluation alg. Divide by final value of weight coordinate Essentially the same as perspective division/dehomogenize Rational because of final division: Rational polynomial at the end (ratio of two polynomials) Quadratic Bezier urve Example: uarter-circle arc, weight midpoint Smaller w: pulled away from middle control point Larger w: pulled towards middle control point (,1;1) (,1;w) Quadratic Bezier urve General Bezier Formula for uadratic? A B w c = (1 t)2 A w c (1 t) 2 (,1;1) (,1;w) Polynomial spline: parabolic arc Rational spline: result depends on w Polynomial spline: parabolic arc Rational spline: result depends on w 6

Dependence of curve on w A B w c w c = (1 t)2 A (1 t) 2 Mid-Point (t = ½? ) A B w c w c = (1 t)2 A (1 t) 2 For w very large, curve pulled toward middle control point, get a section of a hyperbola For w = 1 (standard spline), standard parabola For w < 1, positive, curve moves away from middle control point For w =, curve becomes a straight line When is curve part of a circle? (homework) W very large A B w c w c = (1 t)2 A (1 t) 2 W = 1 (non-rational spline) A B w c w c = (1 t)2 A (1 t) 2 (,1;>>1) (,1;1) Polynomial spline: parabolic arc W < 1 A B w c w c = (1 t)2 A (1 t) 2 W = A B w c w c = (1 t)2 A (1 t) 2 (,1;w) (,1;w) Rational spline: result depends on w Straight Line 7

Outline Rational Splines Quadratic rational splines NURBs (briefly) Parametric patches (briefly) NURBS Non-uniform (vary time interval per segment) Rational B-Splines an model a wide class of curves and surfaces Same convenient properties of B-Splines Still widely used in AD systems Polar Forms: ubic Bspline urve NURBS For Uniform B-splines, uniform knot vector (below) For non-uniform, only reuire non-decreasing, not necessarily uniform (can be arbitrary) 1 1 1 2 Uniform knot vector: -2, -1,, 1, 2,3 Labels correspond to this -2 1 1 2 3 Outline Rational Splines Quadratic rational splines NURBs (briefly) Parametric patches (briefly) Parametric Patches Each patch is defined by blending control points FvDFH Figure 11.44 8

Parametric Patches Point Q(u,v) on the patch is the tensor product of curves defined by the control points Q(,) Q(,1) Q(u,v) Q(1,) Q(1,1) Watt Figure 6.21 Parametric Bicubic Patches Point Q(u,v) defined by combining control points with polynomial blending functions: P 1,1 P 1,2 P 1,3 P 1,4 P 2,1 P 2,2 P 2,3 P 2,4 Q(u,v) = UM M T V T P 3,1 P 3,2 P 3,3 P 3,4 P 4,1 P 4,2 P 4,3 P 4,4 U = u 3 u 2 u 1 V = v 3 v 2 v 1 Where M is a matrix describing the blending functions for a parametric cubic curve (e.g., Bezier, B-spline, etc.) Summary Splines still used commonly for modeling Start with simple spline curves (Bezier, uniform non-rational B-splines) Discussed extension to rational curves (add homogeneous coordinate for rational polynomial) Brief discussion of NURBs: widely used Brief discussion of Parametric patches for modeling surfaces (rather than curves) 9