Course Web Site ENGN2501 DIGITAL GEOMETRY PROCESSING. Tue & Thu Barus&Holley 157

Similar documents
Introduction and Overview

CSCD18: Computer Graphics. Instructor: Leonid Sigal

Lecture 1 Course Introduction

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS535: Interactive Computer Graphics

ENGN D Photography / Spring 2018 / SYLLABUS

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

Lecture 0 of 41: Part A Course Organization. Introduction to Computer Graphics: Course Organization and Survey

Outline. Intro. Week 1, Fri Jan 4. What is CG used for? What is Computer Graphics? University of British Columbia CPSC 314 Computer Graphics Jan 2013

Intro. Week 1, Fri Jan 4

San José State University Department of Computer Science CS049J, Programming in Java, Section 2, Fall, 2016

Advanced Graphics

San José State University Department of Computer Science CS 166 / SE 166, Information Security, Section 4, spring, 2017

CMPE 152 Compiler Design

0. Introduction: What is Computer Graphics? 1. Basics of scan conversion (line drawing) 2. Representing 2D curves

Course and Contact Information. Course Description. Course Objectives

CMPE 152 Compiler Design

San Jose State University College of Science Department of Computer Science CS185C, Introduction to NoSQL databases, Spring 2017

Introduction to Computer Graphics. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CMPE 152 Compiler Design

ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment

San José State University Department of Computer Science CS-144, Advanced C++ Programming, Section 1, Fall 2017

Topic 0. Introduction: What Is Computer Graphics? CSC 418/2504: Computer Graphics EF432. Today s Topics. What is Computer Graphics?

CS/SE 153 Concepts of Compiler Design

CS380: Introduction to Computer Graphics Introduction to OpenGLSL. Min H. Kim KAIST School of Computing. [CS380] Introduction to Computer Graphics

NOTE: This syllabus is subject to change during the semester. Please check this syllabus on a regular basis for any updates

San José State University Computer Science Department CS49J, Section 3, Programming in Java, Fall 2015

San José State University Department of Computer Science CS166, Information Security, Section 1, Fall, 2018

Lahore University of Management Sciences. CS 452 Computer Graphics

Course and Contact Information. Course Description. Course Objectives

EF432. Introduction to spagetti and meatballs

EF432. Introduction to spagetti and meatballs

San José State University College of Science/Department of Computer Science CS 152, Programming Language Paradigms, Section 03/04, Fall, 2018

ECE573 Introduction to Compilers & Translators

Beijing Jiaotong University CS-23: C++ Programming Summer, 2019 Course Syllabus

San José State University Department of Computer Science CS-174, Server-side Web Programming, Section 2, Spring 2018

San José State University Department of Computer Science CS151, Section 04 Object Oriented Design Spring 2018

INF 315E Introduction to Databases School of Information Fall 2015

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1, 2, and 3, Spring 2018

AE Computer Programming for Aerospace Engineers

Overview. Computer Graphics CSE 167

Polygonal Meshes. Thomas Funkhouser Princeton University COS 526, Fall 2016

CSCE 441 Computer Graphics Fall 2018

Database Systems (INFR10070) Dr Paolo Guagliardo. University of Edinburgh. Fall 2016

Advanced Geometric Modeling CPSC789

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

Advanced Computer Graphics: Non-Photorealistic Rendering

CS559: Computer Graphics. Lecture 1 Introduction Li Zhang University of Wisconsin, Madison

Member of Technical Staff University of Erlangen. Alias Wavefront Am Weichselgarten 9. vox: (w) vox:

CS5620 Intro to Computer Graphics

Cleveland State University

CS380: Computer Graphics Introduction. Sung-Eui Yoon ( 윤성의 ) Course URL:

CS 241 Data Organization using C

BOSTON UNIVERSITY Metropolitan College MET CS342 Data Structures with Java Dr. V.Shtern (Fall 2011) Course Syllabus

Instructor: Anna Miller

San Jose State University College of Science Department of Computer Science CS185C, NoSQL Database Systems, Section 1, Spring 2018

Welcome. Orientation to online CPS102 Computer Science 2 (Java 2)

Database Security MET CS 674 On-Campus/Blended

San José State University College of Science / Department of Computer Science Introduction to Database Management Systems, CS157A-3-4, Fall 2017

SULTAN QABOOS UNIVERSITY COURSE OUTLINE PROGRAM: B.Sc. in Computer Science. Laboratory (Practical) Field or Work Placement

Introduction to Computer Vision

CIS 581 Interactive Computer Graphics (slides based on Dr. Han-Wei Shen s slides) Requirements. Reference Books. Textbook

CS4621/5621 Fall Computer Graphics Practicum Final Projects. Professor: Kavita Bala Instructor: Nicolas Savva

CSC 111 Introduction to Computer Science (Section C)

Computer Science 175. Introduction to Computer Graphics lib175 time: m/w 2:30-4:00 pm place:md g125 section times: tba

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

CSc 2310 Principles of Programming (Java) Jyoti Islam

CPS352 Database Systems Syllabus Fall 2012

In this course, you need to use Pearson etext. Go to "Pearson etext and Video Notes".

CSE 504: Compiler Design

San Jose State University College of Science Department of Computer Science CS151, Object-Oriented Design, Sections 1,2 and 3, Spring 2017

CONSTRUCTIONS OF QUADRILATERAL MESHES: A COMPARATIVE STUDY

Computer Graphics Introduction. Taku Komura

I expect to interact in class with the students, so I expect students to be engaged. (no laptops, smartphones,...) (fig)

Welcome to! 4DN4! Advanced Internet Communications"

Fall Principles of Knowledge Discovery in Databases. University of Alberta

Computer Graphics Disciplines. Grading. Textbooks. Course Overview. Assignment Policies. Computer Graphics Goals I

CSE 554: Geometric Computing for Biomedicine

Philadelphia University Faculty of Information Technology Department of Computer Science --- Semester, 2007/2008. Course Syllabus

ECE 3574: Applied Software Design

San José State University Department of Computer Science CS151, Object Oriented Design, Section 04, Fall, 2016 (42968)

CMPE 280 Web UI Design and Development

Programming Game Engines ITP 485 (4 Units)

Princess Sumaya University for Technology King Hussein School for Computing Sciences- Computer Graphics Department Curriculum 2017

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP

CS 111: Programming Fundamentals II

Syllabus CS476 COMPUTER GRAPHICS Fall 2009

Welcome to CS 4/57101 Computer Graphics

CIS 581 Interactive Computer Graphics

College Algebra. Cartesian Coordinates and Graphs. Dr. Nguyen August 22, Department of Mathematics UK

ECE 4450:427/527 - Computer Networks

CPS352 - DATABASE SYSTEMS. Professor: Russell C. Bjork Spring semester, Office: KOSC 242 x4377

Syllabus of ENPM 691: Secure Programming in C

CMPE/SE 135 Object-Oriented Analysis and Design

PART 2 Introduction to Computer Graphics using OpenGL. Burkhard Wünsche

IS Spring 2018 Database Design, Management and Applications

Principles of Compiler Construction ( )

understanding recursive data types, recursive functions to compute over them, and structural induction to prove things about them

COMPUTER GRAPHICS CS

Introduction to the Mathematical Concepts of CATIA V5

Transcription:

ENGN2501 DIGITAL GEOMETRY PROCESSING Tue & Thu 2:30-3:50 @ Barus&Holley 157 Instructor: Gabriel Taubin <taubin@brown.edu> http://mesh.brown.edu/dgp } Polygon Meshes / Point Clouds } Representation / Data Structures } Iso-curves / Iso-surfaces } Surface Reconstruction } Simplification / Compression } Smoothing / Parameterization } Remeshing / Segmentation } Optimization / Resampling } Out-of-Core Algorithms FIRST CLASS : Thu Jan 24 Course Web Site http://mesh.brown.edu/dgp Lecture notes and/or slides will be provided for some lectures. Students are supposed to read the lecture notes before each class. Papers will be available for download from this web site to complement some lectures. Programming assignments must be submitted through the Canvas course web site. 2

Digital Geometry Processing Discrete Signal Processing for geometric data Point Clouds Polygon meshes (typically triangular) Why Discrete? Simplicity Representation for software/hardware rendering Representation for simulation and analysis tools Output of most acquisition tools 3 Industry Reverse engineering Fast metrology Physical simulations Entertainment Animating digital clays for movies or games Archeology and Art Digitization of cultural heritage and artistic works Medical Imaging Visualization Segmentation 3D Geometry Data

Multiple Application Domains 5 DGP Software for 3D Printing 6

Autodesk Meshmixer 7 DGP Software for 3D Printing 8

Reverse Engineering Software 9 Full Body 3D Scanning

Photogrametry Surface Reconstruction from Multi-View Data

Surface Reconstruction 13 Simplification 14

Deformation 15 Smoothing / Fairing 16

Parameterization 17 Remeshing 18

Subdivision 19 Completion 20

http://mesh.brown.edu/dgp + Canvas 22

Course Description Syllabus @ http://mesh.brown.edu/dgp Computer representations of piece-wise smooth surfaces have become vital technologies in areas ranging from interactive games and feature film production to aircraft design and medical diagnosis. One of the fundamental requirements for all computer graphics applications is the need for sophisticated techniques for representing and processing geometric object models. Two dominant surface representations are polygon meshes and point clouds. We will explore some of the more important techniques for working with non-trivial surface meshes and point clouds. Most of the material we will discuss is taken from the recent research literature. 23 Prerequisites / Who should take this course This course is aimed at graduate students from Engineering, Computer Science, Applied Mathematics, Physics, Cognitive Science and Neuroscience, with some knowledge of Vector Calculus, Linear Algebra, and Data structures, and some exposure to computer programming All the programming will be in C++ Exposure to Java might be sufficient, but may require additional effort. 24

Textbook There is no required book, but this one can serve as a reference: Polygon Mesh Processing, by M. Botsch, L. Kobbelt, M. Pauly, P. Alliez, and B. Lévy, A.K. Peters, Ltd. Natick, MA, 2010 Slides and/or lecture notes will be provided for all the lectures. Students are supposed to download and read the lecture notes, which will be available before each class. A number of papers will be available for download from the course web site to complement the lectures. 25 Grading The course evaluation will be is based on class participation, a number of programming assignments, and a final project. There will not be homework assignments other than the programming assignments and the final project, and there will be neither midterms nor final exam. This year all the programming will in C++. As new concepts and techniques are introduced in the lectures, the programming assignments will expose the students to concepts of increasing complexity. The final project will probably span several weeks. 26

Papers During the course of the semester, we will read a number of papers drawn from the research literature, and we will discuss them in class. The required reading for each class will generally be 1 2 papers. Prior to each class each student should write a brief summary of each paper describing the key points in 2-3 sentences, as well as a list of biggest question to discuss in class Every student will present probably two of these papers in-class. These 20-30 min presentations should include powerpoint slides. 27 Programming Assignments Programming assignments are to be submitted electronically through the Canvas course web site by midnight on the specific deadline. Students must be logged in using their Brown user id to submit their assignments. Submissions are only accepted as zip files containing your source code, configuration files, and documentation. Further details on how to submit homework assignments will be given with each assignment. 28

Class Attendance and Participation Class attendance and participation in the class discussions is mandatory, and will contribute to the final grade as follows: Class participation: 15% Programming assignments: 60% Final project: 25% 29 Tentative Topics To Be Covered Discrete Curves and Surfaces Discrete Representations: Point Clouds, Polygonal Curves and Polygon Meshes Connectivity, Topology, and Geometry Efficient Data Structures to operate on Discrete Curves and Surfaces File Formats to store and transmit Discrete Curves and Curfaces Elements of Differential Geometry of Curves and Surfaces Isocurve and Isosurface Extraction Algorithms Surface Reconstruction Algorithms Curve and Surface Smoothing Algorithms Signal Processing on Curves and Surfaces 30

Tentative Topics To Be Covered Parameterization Remeshing Approximation Point Cloud Decimation Polygon Mesh Simplification Optimization Model Repair Deformations Geometry Compression Numerical Methods In-core and Out-of-Core Methods Geometry Processing for 3D Printing 31 2013 Software Environment: Java

C++ Software Environment Qt Qt is a cross-platform application framework that is widely used for developing application software that can be run on various software and hardware platforms with little or no change in the underlying codebase, while having the power and speed of native applications. 34

35 Assignment 0 Set Up Qt Development Environment Windows Visual Studio Cygwin OSX Xcode Homebrew package manager http://brew.sh 36

Command Line Tools Windows: Cygwin OSX / Linux: built-in Linux Tutorial for Beginners http://www.ee.surrey.ac.uk/teaching/unix/ 37 38

OSX Homebrew Windows 10 OneGet (new) Chocolatey (?) Linux (Raspberry PI) apt-get Package Managers 39 40

41 CMAKE An extensible, open-source system that manages the build process in an operating system and in a compiler-independent manner. http://www.cmake.org http://www.cmake.org/wiki/cmake Instructions will be provided to configure your development environment to use Cmake together with Qt to generate project files for your native IDE (Xcode, VisualStudio, make, etc.) 42

http://www.cmake.org 43 Distributed Video Wall DGP Viewer

Distributed Video Wall DGP Viewer ENGN 2501 / 2016 / Lecture 1 THU JAN 24 45