Meshes: Catmull-Clark Subdivision and Simplification

Size: px
Start display at page:

Download "Meshes: Catmull-Clark Subdivision and Simplification"

Transcription

1 Meshes: Catmull-Clark Subdivision and Simplification Part 1: What I did CS 838, Project 1 Eric Aderhold My main goal with this project was to learn about and better understand three-dimensional mesh surfaces. To that end, I implemented Catmull-Clark subdivision and a rudimentary mesh simplification method using the OpenMesh C++ halfedge mesh data structure library. Catmull-Clark Subdivision My Catmull-Clark program subdivides a mesh surface using the Catmull-Clark algorithm. It runs on the command line, and requires three arguments: the number of subdivision iterations to perform, the input mesh file, and the output mesh file. The input and output files can be in any of the file types supported by OpenMesh's import functions: OBJ, OFF, STL, and OM formats. I made two simple meshes to demonstrate the algorithm: a cube and a "star." Pictures of both of these after various stages of subdivision appear below. Cube, subdivided 0, 1, 2, 3, and 5 times (respectively)

2 Star, 0 iterations Star, 1 iteration Star, 2 iterations Star, 3 iterations Star, 4 iterations Star, 5 iterations

3 Mesh Simplification I read a number of papers about mesh simplification techniques, particularly Michael Garland's papers about using quadric error matrices to find a good approximation of a detailed mesh using fewer polygons, and some of the earlier work that he referenced. Unfortunately, I was not able to get to this phase of the project until less than a week was remaining before the due date, so there was not time to implement any of these more complicated simplification algorithms. I instead implemented a greedy algorithm that progressively collapses edges in the mesh. My algorithm uses a simple heuristic to estimate the relative local curvature in the area of each edge. For each vertex, my code sums the measure of the angles around that vertex, since a flat surface (with no curvature) will have angles that sum to exactly 360º. A highly curved surface, on the other hand, will often have angles around a point that sum to less than 360º, getting very small indeed in the case of a sharp point. For each vertex, the difference between the angle sum and 360º is squared. Then for each edge, this result is averaged across the two vertices, with the smallest sum being likely to be among the flattest regions on the surface. This edge is then collapsed, removing two triangles from the overall mesh. This process is repeated until the desired number of polygons is reached. I tested my simplification algorithm on a model of Darth Vader s helmet that contains over 60,000 polygons. Results of my simplification algorithm at varying numbers of result polygons are shown below: Darth Vader s helmet (original, 50k polygons, 30k polygons, 10k polygons, and 5k polygons)

4 Part 2: Evaluation Catmull-Clark Subdivision I feel that my implementation of Catmull-Clark subdivision works quite well. I was originally concerned that I had implemented the algorithm incorrectly because my subdivided cube did not match images I had seen on Wikipedia and other places of what a Catmull-Clark subdivided cube should look like after a given number of iteration. However, the problem turned out to be in the OpenMesh provided mesh viewer, and how it renders non-flat quadrilaterals (i.e. quadrilaterals whose vertices are not all on the same plane). The example renderings I had seen used some method to ensure that the displayed faces were all flat, while the OpenMesh viewer simply decomposes non-flat quadrilaterals into two triangles. I confirmed this by testing my output against a known implementation. I was able to find another implementation of Catmull-Clark subdivision (by Hennig Biermann and Denis Zorin at NYU, available at The points calculated by my implementation matched theirs, and so I concluded that my implementation was likely correct. In addition to correctness, I believe my implementation performs relatively well. It is able to subdivide a cube through five iterations (from six faces to 12,288) in 0.2 seconds on a two-year-old Apple MacBook Pro. A more complete version of this algorithm would use exact evaluation techniques to compute the location on a limit surface for each point in the subdivided mesh. I did not have time to complete this step yet, but I do plan to do so over the upcoming break. Mesh Simplification I am less pleased with my mesh simplification algorithm. The algorithm successfully keeps the general shape of the original figure, but the output starts to look quite bad at a higher polygon count than I would like. Also, there is an issue where certain areas appear as holes in the simplified figure. I originally thought that my algorithm might not be processing normal vectors properly, but I dismissed this possibility because all that is stored in the mesh file is a set of vertices and faces; the viewer computes all normals from there. My next best guess is that the models I used contained certain discontinuities that are not immediately apparent by looking at the original version, and this caused holes to form as edges collapsed and spread the discontinuous pieces apart. I have unfortunately not had time to fully test this theory. In terms of performance, my algorithm is quite poor. Its process of recalculating every edge s relative curvature heuristic for every edge removed is incredibly inefficient, and could be improved significantly with a bit more work. The simplifications of Darth Vader s helmet as shown on the previous page took a couple of hours to complete. Part 3: Description of Process The main stumbling block I encountered during this project is that I severely underestimated the amount of time required to get up and running with OpenMesh. This is true both in terms of the amount of time needed to simply compile the library and associated components, and also in terms of the time required to fully understand how to make use of OpenMesh s data structure and functionality in my own programs. I did not realize during the planning stages how arduous the installation process would be, or how poorly the documentation explains certain key concepts, and this held my progress back significantly. There are a couple of major extra things I would have tried to accomplish if this were a longer project. First and foremost, I would have implemented a much better mesh simplification algorithm. Due to the long time I needed to get Catmull-Clark working properly, I did not have time to attempt a more sophisticated simplification algorithm such as those demonstrated by Michael Garland in his several

5 papers on the subject. If I had an extra two weeks to work with from the beginning, I would have attempted to do that instead of the simpler algorithm I actually implemented. Also, as already stated, I would have added some exact evaluation features to the Catmull-Clark algorithm. Reading List Sharp, Brian. Subdivision Surface Theory. Gamasutra magazine, April 10, Sharp, Brian. Implementing Subdivision Surface Theory. Gamasutra magazine, April 25, Akenine-Moller, T. et al. Curves and Curved Surfaces. Real-Time Rendering, Chapter 13. Catmull Clark subdivision surface. Wikipedia. OpenMesh documentation, Garland, M. and Shaffer, E. A Multiphase Approach to Efficient Surface Simplification. IEEE Visualization Garland, M. and Heckbert, P. Surface Simplification Using Quadric Error Metrics. SIGGRAPH Roufard, R. and Rossignac, J. Full-range approximation of triangulated polyhedra. EUROGRAPHICS Hoppe, Hugues. Progressive Meshes. SIGGRAPH Hoppe, Hugues, et al. Mesh optimization. SIGGRAPH For learning about surfaces in general and subdivision algorithms, I found the chapter of the Real-Time Rendering book to be useful. When it came time to actually implement the Catmull-Clark algorithm, I found the Wikipedia article to be the most concise, easy-to-follow source. I found Michael Garland s 1996 paper to be a useful explanation of his general methods, and his later paper was an interesting look at some of his follow-up work. Part 4: Self-Evaluation Overall, I give myself a medium-level rating on this project. I put a good deal of time and effort into the project, but I wish I had accomplished a bit more. I think my overall topic choice was appropriate, and I do not regret deciding to explore this topic. However, the selection of OpenMesh as a vehicle for exploring meshes, subdivision, and simplification was a mistake. Too much time was spent on simply getting the framework to function and then after that determining how to best use it, and this left too little time for the meat of the project. I am unsure whether there exists a better data structure library to use for a project such as this, but OpenMesh is much less than ideal. In terms of graphics topics, I learned quite a bit about surfaces and meshes above and beyond what I took away from CS 559. That was my general goal coming into the project, and I feel that I succeeded at this goal despite the subpar deliverables. I also gained experience with coming up to speed on the use of poorly documented library code, a skill that is sadly all-too-necessary in the software engineering field these days. I also learned more about using Apple s Xcode development environment, both for graphics use and in general. If I had to do the project again, I think I would have chosen the same topic. In the planning stages, I would do a more thorough job looking for suitable library code, and I would have allotted more time to actually learning how to use this code. It seems like the coding went fairly quickly when I actually understood what I was doing with OpenMesh, and so with a better library I believe I could have produced much better results.

6 One thing I really do wish I had been told earlier in the project was how it s pretty much impossible to get Qt built and running correctly on Windows. Trying to do this and other things on Windows to get OpenMesh running cost me a couple of full days of work and convinced me to try it on the Mac, where it got working in a fraction of the time.

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

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

Mesh Decimation Using VTK

Mesh Decimation Using VTK Mesh Decimation Using VTK Michael Knapp knapp@cg.tuwien.ac.at Institute of Computer Graphics and Algorithms Vienna University of Technology Abstract This paper describes general mesh decimation methods

More information

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

CGAL. Mesh Simplification. (Slides from Tom Funkhouser, Adam Finkelstein) CGAL Mesh Simplification (Slides from Tom Funkhouser, Adam Finkelstein) Siddhartha Chaudhuri http://www.cse.iitb.ac.in/~cs749 In a nutshell Problem: Meshes have too many polygons for storage, rendering,

More information

Geometric Features for Non-photorealistiic Rendering

Geometric Features for Non-photorealistiic Rendering CS348a: Computer Graphics Handout # 6 Geometric Modeling and Processing Stanford University Monday, 27 February 2017 Homework #4: Due Date: Mesh simplification and expressive rendering [95 points] Wednesday,

More information

Mesh Repairing and Simplification. Gianpaolo Palma

Mesh Repairing and Simplification. Gianpaolo Palma Mesh Repairing and Simplification Gianpaolo Palma Mesh Repairing Removal of artifacts from geometric model such that it becomes suitable for further processing Input: a generic 3D model Output: (hopefully)a

More information

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id.

1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. 1. Mesh Coloring a.) Assign unique color to each polygon based on the polygon id. Figure 1: The dragon model is shown rendered using a coloring scheme based on coloring each triangle face according to

More information

Digital Geometry Processing. Computer Graphics CMU /15-662

Digital Geometry Processing. Computer Graphics CMU /15-662 Digital Geometry Processing Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans, not fins

More information

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment

3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment 3-Dimensional Object Modeling with Mesh Simplification Based Resolution Adjustment Özgür ULUCAY Sarp ERTÜRK University of Kocaeli Electronics & Communication Engineering Department 41040 Izmit, Kocaeli

More information

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

Mesh Simplification. Mesh Simplification. Mesh Simplification Goals. Mesh Simplification Motivation. Vertex Clustering. Mesh Simplification Overview Mesh Simplification Mesh Simplification Adam Finkelstein Princeton University COS 56, Fall 008 Slides from: Funkhouser Division, Viewpoint, Cohen Mesh Simplification Motivation Interactive visualization

More information

Progressive Mesh. Reddy Sambavaram Insomniac Games

Progressive Mesh. Reddy Sambavaram Insomniac Games Progressive Mesh Reddy Sambavaram Insomniac Games LOD Schemes Artist made LODs (time consuming, old but effective way) ViewDependentMesh (usually used for very large complicated meshes. CAD apps. Probably

More information

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005

A Developer s Survey of Polygonal Simplification algorithms. CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 A Developer s Survey of Polygonal Simplification algorithms CS 563 Advanced Topics in Computer Graphics Fan Wu Mar. 31, 2005 Some questions to ask Why simplification? What are my models like? What matters

More information

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification

CS 283: Assignment 1 Geometric Modeling and Mesh Simplification CS 283: Assignment 1 Geometric Modeling and Mesh Simplification Ravi Ramamoorthi 1 Introduction This assignment is about triangle meshes as a tool for geometric modeling. As the complexity of models becomes

More information

There we are; that's got the 3D screen and mouse sorted out.

There we are; that's got the 3D screen and mouse sorted out. Introduction to 3D To all intents and purposes, the world we live in is three dimensional. Therefore, if we want to construct a realistic computer model of it, the model should be three dimensional as

More information

Level Set Extraction from Gridded 2D and 3D Data

Level Set Extraction from Gridded 2D and 3D Data Level Set Extraction from Gridded 2D and 3D Data David Eberly, Geometric Tools, Redmond WA 98052 https://www.geometrictools.com/ This work is licensed under the Creative Commons Attribution 4.0 International

More information

Mesh Decimation. Mark Pauly

Mesh Decimation. Mark Pauly Mesh Decimation Mark Pauly Applications Oversampled 3D scan data ~150k triangles ~80k triangles Mark Pauly - ETH Zurich 280 Applications Overtessellation: E.g. iso-surface extraction Mark Pauly - ETH Zurich

More information

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations

1. Introduction. 2. Parametrization of General CCSSs. 3. One-Piece through Interpolation. 4. One-Piece through Boolean Operations Subdivision Surface based One-Piece Representation Shuhua Lai Department of Computer Science, University of Kentucky Outline. Introduction. Parametrization of General CCSSs 3. One-Piece through Interpolation

More information

A Comparison of Mesh Simplification Algorithms

A Comparison of Mesh Simplification Algorithms A Comparison of Mesh Simplification Algorithms Nicole Ortega Project Summary, Group 16 Browser Based Constructive Solid Geometry for Anatomical Models - Orthotics for cerebral palsy patients - Fusiform

More information

Subdivision Surfaces

Subdivision Surfaces Subdivision Surfaces CS 4620 Lecture 31 Cornell CS4620 Fall 2015 1 Administration A5 due on Friday Dreamworks visiting Thu/Fri Rest of class Surfaces, Animation, Rendering w/ prior instructor Steve Marschner

More information

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015

Subdivision curves and surfaces. Brian Curless CSE 557 Fall 2015 Subdivision curves and surfaces Brian Curless CSE 557 Fall 2015 1 Reading Recommended: Stollnitz, DeRose, and Salesin. Wavelets for Computer Graphics: Theory and Applications, 1996, section 6.1-6.3, 10.2,

More information

A General Simplification Algorithm

A General Simplification Algorithm A General Simplification Algorithm Boštjan Pivec, Vid Domiter Abstract In this article a new general algorithm for triangular mesh simplification is proposed. The algorithm extends Krivograd's work from

More information

Some Open Problems in Graph Theory and Computational Geometry

Some Open Problems in Graph Theory and Computational Geometry Some Open Problems in Graph Theory and Computational Geometry David Eppstein Univ. of California, Irvine Dept. of Information and Computer Science ICS 269, January 25, 2002 Two Models of Algorithms Research

More information

Subdivision overview

Subdivision overview Subdivision overview CS4620 Lecture 16 2018 Steve Marschner 1 Introduction: corner cutting Piecewise linear curve too jagged for you? Lop off the corners! results in a curve with twice as many corners

More information

Adjacency Data Structures

Adjacency Data Structures Last Time? Simple Transformations Adjacency Data Structures material from Justin Legakis Classes of Transformations Representation homogeneous coordinates Composition not commutative Orthographic & Perspective

More information

Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2

Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2 Worksheet Answer Key: Scanning and Mapping Projects > Mine Mapping > Investigation 2 Ruler Graph: Analyze your graph 1. Examine the shape formed by the connected dots. i. Does the connected graph create

More information

3 Polygonal Modeling. Getting Started with Maya 103

3 Polygonal Modeling. Getting Started with Maya 103 3 Polygonal Modeling In Maya, modeling refers to the process of creating virtual 3D surfaces for the characters and objects in the Maya scene. Surfaces play an important role in the overall Maya workflow

More information

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

As a consequence of the operation, there are new incidences between edges and triangles that did not exist in K; see Figure II.9. II.4 Surface Simplification 37 II.4 Surface Simplification In applications it is often necessary to simplify the data or its representation. One reason is measurement noise, which we would like to eliminate,

More information

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

Geometry Processing & Geometric Queries. Computer Graphics CMU /15-662 Geometry Processing & Geometric Queries Computer Graphics CMU 15-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,

More information

Surface Simplification Using Quadric Error Metrics

Surface Simplification Using Quadric Error Metrics Surface Simplification Using Quadric Error Metrics Authors: Michael Garland & Paul Heckbert Presented by: Niu Xiaozhen Disclaimer: Some slides are modified from original slides, which were designed by

More information

Rendering Subdivision Surfaces Efficiently on the GPU

Rendering Subdivision Surfaces Efficiently on the GPU Rendering Subdivision Surfaces Efficiently on the GPU Gy. Antal, L. Szirmay-Kalos and L. A. Jeni Department of Algorithms and their Applications, Faculty of Informatics, Eötvös Loránd Science University,

More information

INF3320 Computer Graphics and Discrete Geometry

INF3320 Computer Graphics and Discrete Geometry INF3320 Computer Graphics and Discrete Geometry More smooth Curves and Surfaces Christopher Dyken, Michael Floater and Martin Reimers 10.11.2010 Page 1 More smooth Curves and Surfaces Akenine-Möller, Haines

More information

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

Subdivision. Outline. Key Questions. Subdivision Surfaces. Advanced Computer Graphics (Spring 2013) Video: Geri s Game (outside link) Advanced Computer Graphics (Spring 03) CS 83, Lecture 7: Subdivision Ravi Ramamoorthi http://inst.eecs.berkeley.edu/~cs83/sp3 Slides courtesy of Szymon Rusinkiewicz, James O Brien with material from Denis

More information

Skill: Polygons. Vocabulary: Polygon a closed two-dimensional figure with straight edges

Skill: Polygons. Vocabulary: Polygon a closed two-dimensional figure with straight edges Skill: Polygons Standard: 5.13.a ~ The student, using plane figures (square, rectangle, triangle, parallelogram, rhombus, and trapezoid), will develop definitions of these plane figures; 5.13.b ~ The student,

More information

Pick up some wrapping paper.

Pick up some wrapping paper. Pick up some wrapping paper. What is the area of the following Christmas Tree? There is a nice theorem that allows one to compute the area of any simply-connected (i.e. no holes) grid polygon quickly.

More information

Ideas beyond Number. Teacher s guide to Activity worksheets

Ideas beyond Number. Teacher s guide to Activity worksheets Ideas beyond Number Teacher s guide to Activity worksheets Intended outcomes: Students will: extend their knowledge of geometrical objects, both 2D and 3D develop their skills in geometrical reasoning

More information

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling

Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Computer Graphics Prof. Sukhendu Das Dept. of Computer Science and Engineering Indian Institute of Technology, Madras Lecture - 24 Solid Modelling Welcome to the lectures on computer graphics. We have

More information

All the Polygons You Can Eat. Doug Rogers Developer Relations

All the Polygons You Can Eat. Doug Rogers Developer Relations All the Polygons You Can Eat Doug Rogers Developer Relations doug@nvidia.com Future of Games Very high resolution models 20,000 triangles per model Lots of them Complex Lighting Equations Floating point

More information

CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification

CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification CSE 163: Assignment 2 Geometric Modeling and Mesh Simplification Ravi Ramamoorthi 1 Introduction This assignment is about triangle meshes as a tool for geometric modeling. As the complexity of models becomes

More information

Curves and Surfaces 2

Curves and Surfaces 2 Curves and Surfaces 2 Computer Graphics Lecture 17 Taku Komura Today More about Bezier and Bsplines de Casteljau s algorithm BSpline : General form de Boor s algorithm Knot insertion NURBS Subdivision

More information

CLUSTERING A LARGE NUMBER OF FACES FOR 2-DIMENSIONAL MESH GENERATION

CLUSTERING A LARGE NUMBER OF FACES FOR 2-DIMENSIONAL MESH GENERATION CLUSTERING A LARGE NUMBER OF FACES FOR -DIMENSIONAL MESH GENERATION Keisuke Inoue, Takayuki Itoh, Atsushi Yamada 3, Tomotake Furuhata 4, Kenji Shimada 5,,3,4 IBM Japan Ltd., Yamato-shi, Kanagawa, Japan

More information

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14

Introduction to Algorithms / Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 600.363 Introduction to Algorithms / 600.463 Algorithms I Lecturer: Michael Dinitz Topic: Approximation algorithms Date: 11/18/14 23.1 Introduction We spent last week proving that for certain problems,

More information

Simplification. Stolen from various places

Simplification. Stolen from various places Simplification Stolen from various places The Problem of Detail Graphics systems are awash in model data: highly detailed CAD models high-precision surface scans surface reconstruction algorithms Available

More information

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo

Geometric Modeling. Bing-Yu Chen National Taiwan University The University of Tokyo Geometric Modeling Bing-Yu Chen National Taiwan University The University of Tokyo Surface Simplification Motivation Basic Idea of LOD Discrete LOD Continuous LOD Simplification Problem Characteristics

More information

Tetrus Project. By Catherine Bendebury

Tetrus Project. By Catherine Bendebury Tetrus Project By Catherine Bendebury I. Initial Task The initial problem was to take a tetrus, and cut it up into four symmetrical parts. The cuts were to be made along each arm, achieving an interlocking

More information

Week 9: Planar and non-planar graphs. 7 and 9 November, 2018

Week 9: Planar and non-planar graphs. 7 and 9 November, 2018 (1/27) MA284 : Discrete Mathematics Week 9: Planar and non-planar graphs http://www.maths.nuigalway.ie/ niall/ma284/ 7 and 9 November, 2018 1 Planar graphs and Euler s formula 2 Non-planar graphs K 5 K

More information

(Refer Slide Time: 02.06)

(Refer Slide Time: 02.06) Data Structures and Algorithms Dr. Naveen Garg Department of Computer Science and Engineering Indian Institute of Technology, Delhi Lecture 27 Depth First Search (DFS) Today we are going to be talking

More information

CS 563 Advanced Topics in Computer Graphics Polygonal Techniques. by Linna Ma

CS 563 Advanced Topics in Computer Graphics Polygonal Techniques. by Linna Ma CS 563 Advanced Topics in Computer Graphics Polygonal Techniques by Linna Ma What I ll Talk About Introduction Tessellation and Triangulation Consolidation Triangle Strips, Fans and Meshes Simplification

More information

Week 9: Planar and non-planar graphs. 1st and 3rd of November, 2017

Week 9: Planar and non-planar graphs. 1st and 3rd of November, 2017 (1/26) MA284 : Discrete Mathematics Week 9: Planar and non-planar graphs http://www.maths.nuigalway.ie/~niall/ma284/ 1st and 3rd of November, 2017 1 Recall... planar graphs and Euler s formula 2 Non-planar

More information

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

Applications. Oversampled 3D scan data. ~150k triangles ~80k triangles Mesh Simplification Applications Oversampled 3D scan data ~150k triangles ~80k triangles 2 Applications Overtessellation: E.g. iso-surface extraction 3 Applications Multi-resolution hierarchies for efficient

More information

What is dimension? An investigation by Laura Escobar. Math Explorer s Club

What is dimension? An investigation by Laura Escobar. Math Explorer s Club What is dimension? An investigation by Laura Escobar Math Explorer s Club The goal of this activity is to introduce you to the notion of dimension. The movie Flatland is also a great way to learn about

More information

Advanced Computer Graphics

Advanced Computer Graphics Advanced Computer Graphics Lecture 2: Modeling (1): Polygon Meshes Bernhard Jung TU-BAF, Summer 2007 Overview Computer Graphics Icon: Utah teapot Polygon Meshes Subdivision Polygon Mesh Optimization high-level:

More information

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

Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement Rensselaer Polytechnic Institute Advanced Computer Graphics, Spring 2014 Final Project Evaluating the Quality of Triangle, Quadrilateral, and Hybrid Meshes Before and After Refinement Author: Rebecca Nordhauser

More information

Final Project, Digital Geometry Processing

Final Project, Digital Geometry Processing Final Project, Digital Geometry Processing Shayan Hoshyari Student #: 81382153 December 2016 Introduction In this project an adaptive surface remesher has been developed based on the paper [1]. An algorithm

More information

A General Algorithm for Triangular Meshes Simplification

A General Algorithm for Triangular Meshes Simplification Proceedings of the 11th WSEAS International Conference on COMPUTERS, Agios Nikolaos, Crete Island, Greece, July 26-28, 2007 613 A General Algorithm for Triangular Meshes Simplification BOŠTJAN PIVEC University

More information

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe

and Recent Extensions Progressive Meshes Progressive Meshes Multiresolution Surface Modeling Multiresolution Surface Modeling Hugues Hoppe Progressive Meshes Progressive Meshes and Recent Extensions Hugues Hoppe Microsoft Research SIGGRAPH 97 Course SIGGRAPH 97 Course Multiresolution Surface Modeling Multiresolution Surface Modeling Meshes

More information

CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist

CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist CS103 Handout 29 Winter 2018 February 9, 2018 Inductive Proofwriting Checklist In Handout 28, the Guide to Inductive Proofs, we outlined a number of specifc issues and concepts to be mindful about when

More information

Simple Silhouettes for Complex Surfaces

Simple Silhouettes for Complex Surfaces Eurographics Symposium on Geometry Processing(2003) L. Kobbelt, P. Schröder, H. Hoppe (Editors) Simple Silhouettes for Complex Surfaces D. Kirsanov, P. V. Sander, and S. J. Gortler Harvard University Abstract

More information

Analogy :24:47 / rev ebd

Analogy :24:47 / rev ebd 80 80 6 Analogy When the going gets tough, the tough lower their standards. It is the creed of the sloppy, the lazy, and any who want results. This chapter introduces a technique, reasoning by analogy,

More information

Joe Warren, Scott Schaefer Rice University

Joe Warren, Scott Schaefer Rice University Joe Warren, Scott Schaefer Rice University Polygons are a ubiquitous modeling primitive in computer graphics. Their popularity is such that special purpose graphics hardware designed to render polygons

More information

6.837 Computer Graphics Fall 2012 Programming Assignment 0: OpenGL Mesh Viewer

6.837 Computer Graphics Fall 2012 Programming Assignment 0: OpenGL Mesh Viewer 6.837 Computer Graphics Fall 2012 Programming Assignment 0: OpenGL Mesh Viewer 1 Getting Started Let s start off by looking at main.cpp. It contains a fully functional application that displays a teapot.

More information

Principles of Algorithm Design

Principles of Algorithm Design Principles of Algorithm Design When you are trying to design an algorithm or a data structure, it s often hard to see how to accomplish the task. The following techniques can often be useful: 1. Experiment

More information

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces

Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces EUROGRAPHICS 2001 / Jonathan C. Roberts Short Presentations Complexity Reduction of Catmull-Clark/Loop Subdivision Surfaces Eskil Steenberg The Interactive Institute, P.O. Box 24081, SE 104 50 Stockholm,

More information

A Short Survey of Mesh Simplification Algorithms

A Short Survey of Mesh Simplification Algorithms A Short Survey of Mesh Simplification Algorithms Jerry O. Talton III University of Illinois at Urbana-Champaign 1. INTRODUCTION The problem of approximating a given input mesh with a less complex but geometrically

More information

Interactive Geometry Editor Beth Werbaneth

Interactive Geometry Editor Beth Werbaneth Interactive Geometry Editor Beth Werbaneth Introduction 3D modeling software allows artists to realize their visions in a digital format. By manipulating points, edges, surfaces, users can create representations

More information

Meshes and Manifolds. Computer Graphics CMU /15-662

Meshes and Manifolds. Computer Graphics CMU /15-662 Meshes and Manifolds Computer Graphics CMU 15-462/15-662 Fractal Quiz Last time: overview of geometry Many types of geometry in nature Geometry Demand sophisticated representations Two major categories:

More information

u 0+u 2 new boundary vertex

u 0+u 2 new boundary vertex Combined Subdivision Schemes for the design of surfaces satisfying boundary conditions Adi Levin School of Mathematical Sciences, Tel-Aviv University, Tel-Aviv 69978, Israel. Email:fadilev@math.tau.ac.ilg

More information

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

Curves & Surfaces. Last Time? Progressive Meshes. Selective Refinement. Adjacency Data Structures. Mesh Simplification. Mesh Simplification Last Time? Adjacency Data Structures Curves & Surfaces Geometric & topologic information Dynamic allocation Efficiency of access Mesh Simplification edge collapse/vertex split geomorphs progressive transmission

More information

READ ME FIRST. Investigations 2012 for the Common Core State Standards A focused, comprehensive, and cohesive program for grades K-5

READ ME FIRST. Investigations 2012 for the Common Core State Standards A focused, comprehensive, and cohesive program for grades K-5 READ ME FIRST Investigations 2012 for the Common Core State Standards A focused, comprehensive, and cohesive program for grades K-5 In updating Investigations 2 nd edition to encompass the Common Core

More information

(Refer Slide Time: 00:01:30)

(Refer Slide Time: 00:01:30) Digital Circuits and Systems Prof. S. Srinivasan Department of Electrical Engineering Indian Institute of Technology, Madras Lecture - 32 Design using Programmable Logic Devices (Refer Slide Time: 00:01:30)

More information

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

The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a The goal is the definition of points with numbers and primitives with equations or functions. The definition of points with numbers requires a coordinate system and then the measuring of the point with

More information

Describe Plane Shapes

Describe Plane Shapes Lesson 12.1 Describe Plane Shapes You can use math words to describe plane shapes. point an exact position or location line endpoints line segment ray a straight path that goes in two directions without

More information

A simple problem that has a solution that is far deeper than expected!

A simple problem that has a solution that is far deeper than expected! The Water, Gas, Electricity Problem A simple problem that has a solution that is far deeper than expected! Consider the diagram below of three houses and three utilities: water, gas, and electricity. Each

More information

Lecture 3: Some Strange Properties of Fractal Curves

Lecture 3: Some Strange Properties of Fractal Curves Lecture 3: Some Strange Properties of Fractal Curves I have been a stranger in a strange land. Exodus 2:22 1. Fractal Strangeness Fractals have a look and feel that is very different from ordinary curves.

More information

Archdiocese of New York Practice Items

Archdiocese of New York Practice Items Archdiocese of New York Practice Items Mathematics Grade 6 Teacher Sample Packet Unit 5 NY MATH_TE_G6_U5.indd 1 NY MATH_TE_G6_U5.indd 2 1. Horatio s patio is shaped like an isosceles trapezoid. He wants

More information

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces

12.3 Subdivision Surfaces. What is subdivision based representation? Subdivision Surfaces 2.3 Subdivision Surfaces What is subdivision based representation? Subdivision Surfaces Multi-resolution (Scalability) One piece representation (arbitrary topology) What is so special? Numerical stability

More information

Ideas beyond Number. Activity worksheets

Ideas beyond Number. Activity worksheets Ideas beyond Number Activity worksheets Activity sheet 1 Regular polygons and tesselation Which regular polygons tessellate? Square tiling is all around us, but are there any others? Questions 1. What

More information

CSE 554 Lecture 6: Fairing and Simplification

CSE 554 Lecture 6: Fairing and Simplification CSE 554 Lecture 6: Fairing and Simplification Fall 2012 CSE554 Fairing and simplification Slide 1 Review Iso-contours in grayscale images and volumes Piece-wise linear representations Polylines (2D) and

More information

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners

Getting Started. Excerpted from Hello World! Computer Programming for Kids and Other Beginners Getting Started Excerpted from Hello World! Computer Programming for Kids and Other Beginners EARLY ACCESS EDITION Warren D. Sande and Carter Sande MEAP Release: May 2008 Softbound print: November 2008

More information

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis

Overview. Efficient Simplification of Point-sampled Surfaces. Introduction. Introduction. Neighborhood. Local Surface Analysis Overview Efficient Simplification of Pointsampled Surfaces Introduction Local surface analysis Simplification methods Error measurement Comparison PointBased Computer Graphics Mark Pauly PointBased Computer

More information

3D shapes introduction

3D shapes introduction 3D shapes introduction 2D shapes have 2 dimensions width and height. They re flat. height 3D shapes have 3 dimensions height, width and depth. Sometimes we call them solids. When we draw them, we often

More information

Back to ObjectLand. Contents at: Chapter 5. Questions of Interest. encapsulation. polymorphism. inheritance overriding inheritance super

Back to ObjectLand. Contents at: Chapter 5. Questions of Interest. encapsulation. polymorphism. inheritance overriding inheritance super korienekch05.qxd 11/12/01 4:06 PM Page 105 5 Back to ObjectLand Contents at: Chapter 5 #( encapsulation polymorphism inheritance overriding inheritance super learning the class hierarchy finding classes

More information

Visualising Solid Shapes

Visualising Solid Shapes VISUALISING SOLID SHAPES 2 7 7 Visualising Solid Shapes Chapter 15 15.1 INTRODUCTION: PLANE FIGURES AND SOLID SHAPES In this chapter, you will classify figures you have seen in terms of what is known as

More information

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk

Alex Li 11/20/2009. Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk Alex Li 11/20/2009 Chris Wojtan, Nils Thurey, Markus Gross, Greg Turk duction Overview of Lagrangian of Topological s Altering the Topology 2 Presents a method for accurately tracking the moving surface

More information

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models 3D Programming Concepts Outline 3D Concepts Displaying 3D Models 3D Programming CS 4390 3D Computer 1 2 3D Concepts 3D Model is a 3D simulation of an object. Coordinate Systems 3D Models 3D Shapes 3D Concepts

More information

Geometry. Students at Dommerich Elementary helped design and construct a mosaic to show parts of their community and local plants and animals.

Geometry. Students at Dommerich Elementary helped design and construct a mosaic to show parts of their community and local plants and animals. Geometry Describing and analyzing two-dimensional shapes Students at Dommerich Elementary helped design and construct a mosaic to show parts of their community and local plants and animals. 479 Make a

More information

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer

Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer Midterm Exam Fundamentals of Computer Graphics (COMP 557) Thurs. Feb. 19, 2015 Professor Michael Langer The exam consists of 10 questions. There are 2 points per question for a total of 20 points. You

More information

Polygons. 5 sides 5 angles. pentagon. Name

Polygons. 5 sides 5 angles. pentagon. Name Lesson 11.1 Reteach Polygons A polygon is a closed plane figure formed by three or more line segments that meet at points called vertices. You can classify a polygon by the number of sides and the number

More information

Number Sense. I CAN DO THIS! Third Grade Mathematics Name. Problems or Examples. 1.1 I can count, read, and write whole numbers to 10,000.

Number Sense. I CAN DO THIS! Third Grade Mathematics Name. Problems or Examples. 1.1 I can count, read, and write whole numbers to 10,000. Number Sense 1.1 I can count, read, and write whole numbers to 10,000. 1.2 I can compare and order numbers to 10,000. What is the smallest whole number you can make using the digits 4, 3, 9, and 1? Use

More information

1 Counting triangles and cliques

1 Counting triangles and cliques ITCSC-INC Winter School 2015 26 January 2014 notes by Andrej Bogdanov Today we will talk about randomness and some of the surprising roles it plays in the theory of computing and in coding theory. Let

More information

Math 6: Geometry 3-Dimensional Figures

Math 6: Geometry 3-Dimensional Figures Math 6: Geometry 3-Dimensional Figures Three-Dimensional Figures A solid is a three-dimensional figure that occupies a part of space. The polygons that form the sides of a solid are called a faces. Where

More information

You ve Got Problems #2.5

You ve Got Problems #2.5 You ve Got Problems #.5 Problem Statement Given a tetrahedron of side length n made up of unit tetrahedrons that are stacked, how many unit tetrahedrons will be painted on 4,,, 1, and 0 sides if the outside

More information

Appearance Preservation

Appearance Preservation CS 283 Advanced Computer Graphics Mesh Simplification James F. O Brien Professor U.C. Berkeley Based on slides by Ravi Ramamoorthi 1 Appearance Preservation Caltech & Stanford Graphics Labs and Jonathan

More information

STANDARDS OF LEARNING CONTENT REVIEW NOTES. Grade 6 Mathematics 3 rd Nine Weeks,

STANDARDS OF LEARNING CONTENT REVIEW NOTES. Grade 6 Mathematics 3 rd Nine Weeks, STANDARDS OF LEARNING CONTENT REVIEW NOTES Grade 6 Mathematics 3 rd Nine Weeks, 2016-2017 1 2 Content Review: Standards of Learning in Detail Grade 6 Mathematics: Third Nine Weeks 2016-2017 This resource

More information

Perimeter Magic Polygons

Perimeter Magic Polygons Perimeter Magic Polygons In, Terrel Trotter, Jr., then a math teacher in Urbana Illinois, published an article called Magic Triangles of Order n. In, he published a follow up article called Perimeter Magic

More information

Planar Graphs, Solids, and Surfaces. Planar Graphs 1/28

Planar Graphs, Solids, and Surfaces. Planar Graphs 1/28 Planar Graphs, Solids, and Surfaces Planar Graphs 1/28 Last time we discussed the Four Color Theorem, which says that any map can be colored with at most 4 colors and not have two regions that share a

More information

The Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces

The Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces The Problem of Calculating Vertex Normals for Unevenly Subdivided Smooth Surfaces Ted Schundler tschundler (a) gmail _ com Abstract: Simply averaging normals of the faces sharing a vertex does not produce

More information

Deformation Sensitive Decimation

Deformation Sensitive Decimation Deformation Sensitive Decimation Alex Mohr Michael Gleicher University of Wisconsin, Madison Abstract In computer graphics, many automatic methods for simplifying polygonal meshes have been developed.

More information

x y

x y 10. LECTURE 10 Objectives I understand the difficulty in finding an appropriate function for a data set in general. In some cases, I can define a function type that may fit a data set well. Last time,

More information

Transcriber(s): Aboelnaga, Eman Verifier(s): Yedman, Madeline Date Transcribed: Fall 2010 Page: 1 of 9

Transcriber(s): Aboelnaga, Eman Verifier(s): Yedman, Madeline Date Transcribed: Fall 2010 Page: 1 of 9 Page: 1 of 9 0:00 1 R1 The color s not going to show a little bit, but okay. Okay. So, um, a plus b quantity cubed, you said, means Stephanie a plus b times a plus b times a plus b /R1 3 R1 Okay, so you

More information

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D.

1. CONVEX POLYGONS. Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. 1. CONVEX POLYGONS Definition. A shape D in the plane is convex if every line drawn between two points in D is entirely inside D. Convex 6 gon Another convex 6 gon Not convex Question. Why is the third

More information

Blending Operations Using Rolling-Ball Filleting

Blending Operations Using Rolling-Ball Filleting Blending Operations Using Rolling-Ball Filleting Ibraheem Alhashim School of Computing Science Simon Fraser University April 14, 2009 Abstract Blending sharp edges in solid models is an important task

More information