Meshes: Catmull-Clark Subdivision and Simplification
|
|
- Eric Jordan
- 5 years ago
- Views:
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-462/15-662 Last time: Meshes & Manifolds Mathematical description of geometry - simplifying assumption: manifold - for polygon meshes: fans,
More informationMesh 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 informationCGAL. 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 informationGeometric 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 informationMesh 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 information1. 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 informationDigital 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 information3-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 informationMesh 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 informationProgressive 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 informationA 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 informationCS 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 informationThere 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 informationLevel 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 informationMesh 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 information1. 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 informationA 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 informationSubdivision 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 informationSubdivision 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 informationA 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 informationSome 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 informationSubdivision 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 informationAdjacency 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 informationWorksheet 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 information3 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 informationAs 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 informationGeometry 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 informationSurface 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 informationRendering 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 informationINF3320 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 informationSubdivision. 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 informationSkill: 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 informationPick 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 informationIdeas 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 informationComputer 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 informationAll 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 informationCSE 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 informationCurves 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 informationCLUSTERING 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 informationIntroduction 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 informationSimplification. 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 informationGeometric 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 informationTetrus 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 informationWeek 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)
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 informationCS 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 informationWeek 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 informationApplications. 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 informationWhat 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 informationAdvanced 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 informationEvaluating 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 informationFinal 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 informationA 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 informationand 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 informationCS103 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 informationSimple 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 informationAnalogy :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 informationJoe 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 information6.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 informationPrinciples 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 informationComplexity 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 informationA 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 informationInteractive 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 informationMeshes 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 informationu 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 informationCurves & 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 informationREAD 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)
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 informationThe 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 informationDescribe 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 informationA 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 informationLecture 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 informationArchdiocese 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 information12.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 informationIdeas 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 informationCSE 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 informationGetting 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 informationOverview. 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 information3D 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 informationBack 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 informationVisualising 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 informationAlex 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 information3D 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 informationGeometry. 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 informationMidterm 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 informationPolygons. 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 informationNumber 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 information1 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 informationMath 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 informationYou 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 informationAppearance 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 informationSTANDARDS 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 informationPerimeter 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 informationPlanar 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 informationThe 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 informationDeformation 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 informationx 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 informationTranscriber(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 information1. 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 informationBlending 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