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

Similar documents
CSCE 441 Computer Graphics Fall 2018

Welcome to CS 4/57101 Computer Graphics

Lahore University of Management Sciences. CS 452 Computer Graphics

CSCD18: Computer Graphics. Instructor: Leonid Sigal

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

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

CS535: Interactive Computer Graphics

Computer Graphics. Instructor: Oren Kapah. Office Hours: T.B.A.

Lahore University of Management Sciences. CS 452 Computer Graphics

CIS 581 Interactive Computer Graphics

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

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

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

Manipal Institute of Technology Manipal University Manipal

CSC 7443: Scientific Information Visualization

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

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

Some Resources. What won t I learn? What will I learn? Topics

Cornell CS4620 Fall 2011!Lecture Kavita Bala (with previous instructors James/Marschner) Cornell CS4620 Fall 2011!Lecture 1.

CSE 504: Compiler Design

CSci 4211: Introduction to Computer Networks. Time: Monday and Wednesday 2:30 to 3:45 pm Location: Smith Hall 231 Fall 2018, 3 Credits

Computer Graphics: Programming, Problem Solving, and Visual Communication

COURSE DELIVERY PLAN - THEORY Page 1 of 6

Foundations of 3D Graphics Programming

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

CSci 4211: Data Communications and Computer Networks. Time: Monday and Wednesday 1 pm to 2:15 pm Location: Vincent Hall 16 Spring 2016, 3 Credits

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

Department of Accounting & Law, School of Business. State University of New York at Albany. Acc 682 Analysis & Design of Accounting Databases

CS 471 Networking and Distributed Operating Systems

CNT 4004: Computer Networks I. Tentative Syllabus

Course Title: Computer Graphics Course no: CSC209

ESET 369 Embedded Systems Software, Fall 2017

SOUTHERN UNIVERSITY AND A&M COLLEGE DEPARTMENT OF MATHEMATICS MATH 250 TOPICS IN GEOMETRY

CPS352 Database Systems Syllabus Fall 2012

Course Producer. Prerequisites. Textbooks. Academic integrity. Grading. Ming Chen. Same office hours as TA. The Hobbit: The Desolation of Smaug (2013)

Advanced Topics in Database Systems Spring 2016

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

Course and Contact Information. Course Description. Course Objectives

Syllabus CS476 COMPUTER GRAPHICS Fall 2009

San Jose State University - Department of Computer Science

Oklahoma State University Institute of Technology Face-to-Face Common Syllabus Fall 2017

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

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

ESET 369 Embedded Systems Software, Spring 2018

CSC6290: Data Communication and Computer Networks. Hongwei Zhang

Programming Game Engines ITP 485 (4 Units)

CS 525 Advanced Database Organization - Spring 2017 Mon + Wed 1:50-3:05 PM, Room: Stuart Building 111

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

HOUSTON COMMUNITY COLLEGE BUSINESS TECHNOLOGY NORTHEAST COLLEGE-NORTHLINE LOCATION COURSE SYLLABUS FALL 2011 COMPUTER APPLICATION I POFI 1301

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

Database Management System Implementation. Who am I? Who is the teaching assistant? TR, 10:00am-11:20am NTRP B 140 Instructor: Dr.

Binghamton University. EngiNet. Thomas J. Watson. School of Engineering and Applied Science. State University of New York. EngiNet WARNING CS 560

Graphics and Interaction Rendering pipeline & object modelling

Welcome to COMP 770 (236) Introduction. Prerequisites. Prerequisites

Advanced Programming CMPS 109

CASPER COLLEGE COURSE SYLLABUS MSFT 1600 Managing Microsoft Exchange Server 2003 Semester/Year: Fall 2007

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

New Undergraduate Course Proposal Form

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

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

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

Data Structures and Algorithms

Introduction to Computer Graphics. Knowledge basic concepts 2D and 3D computer graphics

CSc 2310 Principles of Programming (Java) Jyoti Islam

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Introduction to Computer Systems

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

Computer Graphics Fundamentals. Jon Macey

CS 200, Section 1, Programming I, Fall 2017 College of Arts & Sciences Syllabus

EF432. Introduction to spagetti and meatballs

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

MWF 9:00-9:50AM & 12:00-12:50PM (ET)

CHAPTER 1 Graphics Systems and Models 3

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

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

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

EF432. Introduction to spagetti and meatballs

CS 241 Data Organization using C

Advanced Graphics

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

Introduction to Computer Systems

COMP30019 Graphics and Interaction Rendering pipeline & object modelling

Lecture outline. COMP30019 Graphics and Interaction Rendering pipeline & object modelling. Introduction to modelling

CARTO UNIVERSITY GROUP. Syllabus GEO 445/545 Computer-assisted Cartography Winter December 18, 2013

Lecture 1 (Part 1) Introduction/Overview

CSE (Computational Geometry) SYLLABUS

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

CEG477/CEG677. Computer Graphics II

CS Systems Qualifying Exam 2014

Advanced Visualization

ECE 4450:427/527 - Computer Networks

CSCI 201L Syllabus Principles of Software Development Spring 2018

Curves & Splines. Assignment #3. Overview & Objectives. Due Dates. CPSC 453 Fall 2018 University of Calgary

INFS 2150 (Section A) Fall 2018

B. Subject-specific skills B1. Problem solving skills: Supply the student with the ability to solve different problems related to the topics

Computer Graphics II: Tools and Techniques

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

COLLEGE OF ENGINEERING COURSE AND CURRICULUM CHANGES. October 19, Rathbone Hall. 3:30pm. Undergraduate/Graduate EXPEDITED

Lecture 1. Computer Graphics and Systems. Tuesday, January 15, 13

Transcription:

DRAFT EXCERPT (Subject to Revision) CS459-001 Fundamentals of Computer Graphics, Fall 2018 LEC 401 MW 2:00 pm 2:50 pm, PHY 145 LAB 801 Th 9:00 am 10:45 am, EMS 942 LAB 802 Th 11:00 am 12:45 pm, EMS 942 Instructor: Ichiro Suzuki, EMS 1219, 229-3718, suzuki AT uwm.edu O ce Hours: MW 12:30 PM 1:30 PM (till 12/12/18), or by appointment TA: Reihaneh Rostami, rostami AT uwm.edu O ce Hours: TBA Victor Williamson, vlw AT uwm.edu O ce Hours: TBA Course Homepage: Login to D2L. Prerequisite: Junior Standing; Math 232(P); CompSci 251(P). Additionally, interested students should be familiar with basic linear algebra, trigonometry, and 2D and 3D coordinate geometry, mostly that related to lines, planes, circles, and spheres. This material would be from high school or beginning undergraduate math courses. (P) indicates A course in which a student is required to earn credit prior to being allowed to enroll in a subsequent higher-level course. A prerequisite course may not be taken for credit subsequent to the earning of credit in the higher-level course. (UWM Schedule of Classes) Level: U/G. Textbooks (required): Hearn, Baker and Carithers, Computer Graphics with OpenGL, Fourth Edition, Prentice Hall. Course Pack for CS459, available in D2L. Recommended Supplementary Reading: Shreiner, Woo, Neider and Davis, OpenGL Programming Guide, Addison Wesley ( The Red Book ). http://www.opengl.org/documentation/red_book/ Kempf and Frazer (Eds), OpenGL Reference Manual, Addison Wesley ( The Blue Book ). http://www.opengl.org/documentation/blue_book/ 1

Useful Resources: SGI reference site for OpenGL: http://www.sgi.com/software/opengl More OpenGL information: http://www.opengl.org Older editions of The Blue Book and The Red Book: http://www.glprogramming.com/blue/ http://www.glprogramming.com/red/ Description/Outline: We use Visual Studio 2017 C/C++ and an industry-standard graphics package OpenGL under Windows 10 running on virtual PCs (imacs) in EMS 942. The approach will be top-down students will right from the start use OpenGL to create 3D scenes. As we proceed to learn and use OpenGL we shall pick up the underlying theory, mostly the mathematics of geometric transformations, viewing, illumination, splines, and certain implementation algorithms. Thus we will concurrently discuss OpenGL programming and the underlying theory of computer graphics. Tentatively, the theory part covers the topics from the following chapters and sections of Hearn, Baker and Carithers (HBC). The sections of the Course Pack (CP) in which they are discussed are also shown. CP Ch 4: HBC Ch 1 A Survey of Computer Graphics HBC Ch 2 Computer Graphics Hardware (mainly 2.1 and 2.2, raster-scan displays and systems) CP Ch 6: HBC 6.1 Line-Drawing Algorithms HBC 6.4 Circle-Generating Algorithms HBC 6.10 General Scan-Line Polygon-Fill Algorithm HBC 6.11 Scan-Line Fill of Convex Polygons CP Ch 7: HBC 7.1 7.5 Two-Dimensional Geometric Transformations HBC 9.1 9.5 Three-Dimensional Geometric Transformations HBC 10.8 Three-Dimensional Perspective Projections CP Ch 10: HBC 8.7 Two-Dimensional Line Clipping HBC 10.11 Three-Dimensional Clipping Algorithms (mainly line clipping) CP Ch 11: HBC 17.1 Light Sources HBC 17.2 Surface Lighting E ects HBC 17.3 Basic Illumination Models HBC 17.11 OpenGL Illumination and Surface-Rendering Functions CP Ch 12: 2

HBC 5.3 OpenGL Color Functions HBC 6.15 Implementaion Methods for Antialiasing HBC 16.3 Depth-Bu er Method HBC 16.14 OpenGL Visibility-Detection Functions HBC 17.11 OpenGL Illumination and Surface-Rendering Functions (OpenGL Transparency Functions) CP Ch 13: HBC 20.7 OpenGL Menu Functions CP Ch 14: HBC 20.6 OpenGL Interactive Input-Device Functions (mainly OpenGL Picking Operation) CP Ch 15: HBC 13.4 Quadric Surfaces HBC 13.6 OpenGL Quadric-Surfaces and Cubic-Surface Functions HBC 18.2 Texture Mapping HBC 18.5 OpenGL Texture Functions CP Ch 16: HBC 14.1 14.3 Spline Representaitons and Continuity HBC 14.8 Bezier Spline Curves HBC 14.9 Bezier Surfaces HBC 14.16 OpenGL Approximation-Spline Functions In addition, you have to read most of the sections of HBC listed below that discuss OpenGL programming, and look up, in the suggested references or on-line documentations, the details of the OpenGL functions not covered in HBC. (You may skip those marked with (*) first time you read.) HBC 3.5 Introduction to OpenGL HBC 4.2 Specifying a Two-Dimensional World-Coordinate Reference Frame in OpenGL HBC 4.3 OpenGL Point Functions HBC 4.4 OpenGL Line Functions HBC 4.5 OpenGL Curve Functions HBC 4.8 OpenGL Polygon Fill-Area Functions HBC 4.9 OpenGL Vertex Arrays (*) HBC 4.10 OpenGL Pixel-Array Functions (*) HBC 4.12 OpenGL Character Functions (*) HBC 4.15 OpenGL Display Lists HBC 4.16 OpenGL Display-Window Reshape Functions 3

Grading: HBC 5.1 OpenGL State Variables HBC 5.3 OpenGL Color Functions HBC 5.5 OpenGL Point-Attribute Functions HBC 5.7 OpenGL Line-Attribute Functions HBC 5.10 OpenGL Fill-Area Attribute Functions (*) HBC 5.12 OpenGL Character Attribute Functions (*) HBC 5.13 OpenGL Antialiasing Functions (*) HBC 5.14 OpenGL Query Functions (*) HBC 5.15 OpenGL Attribute Groups (*) HBC 7.7 OpenGL Raster Transformations (*) HBC 7.9 OpenGL Functions for Two-Dimensional Geometric Transformation HBC 7.10 OpenGL Geometric-Transformation Programming Examples HBC 8.4 OpenGL Two-Dimensional Viewing Functions HBC 9.8 OpenGL Geometric-Transformation Functionds HBC 9.9 OpenGL Three-Dimensional Geometric-Transformation Programming Examples HBC 10.10 OpenGL Three-Dimensional Viewing Functions HBC 10.12 OpenGL Optional Clipping Planes (*) HBC 11.4 Hierarchical Modeling Using OpenGL Display Lists (*) HBC 12.10 OpenGL Animation Procedures HBC 13.2 OpenGL Polyhedron Functions HBC 13.6 OpenGL Quadric-Surface and Cubic-Surface Functions HBC 14.16 OpenGL Approximation-Spline Functions (*) HBC 16.14 OpenGL Visibility-Detection Functions HBC 17.11 OpenGL Illumination and Surface-Rendering Functions HBC 18.5 OpenGL Texture Functions (*) HBC 20.6 OpenGL Interactive Input-Device Functions HBC 20.7 OpenGL Menu Functions Additional chapters/sections of the textbook and topics from other sources might also be discussed. Attendance in LAB 5%, Programming assignments (and possibly homework) 50%, Exam I (Mon 10/29/18) 18%, Final Exam (Wed 12/19/18, 10:00 AM 12:00 Noon) 27%. 4

Grade scale: A for a total score (out of 100) of 93 or higher, A- for 90 or higher, B+ for 87 or higher, B for 83 or higher, B- for 80 or higher, C+ for 77 or higher, C for 73 or higher, C- for 70 or higher, D+ for 67 or higher, D for 63 or higher, D- for 60 or higher, and F for below 60. The instructor reserves the right to increase a grade that, in his judgment, would not reflect the student s mastery of the material. A grade may be decreased for academic dishonesty. Unless otherwise stated, all assignments are due before midnight on their due dates, and marked down as follows: 10% for up to 24 hours late, 20% for up to 48 hours late, and 30% for up to 72 hours late. Submissions more than 72 hours late will not be accepted. If you submit your work for an assignment multiple times, then only the last submission will be graded. Your programs should be well-designed, use good coding, use explanatory names for functions and variables, and contain enough comments for a competent programmer to be able to understand what your code does and why. Important: Your programs must be written in C or C++, and compile and run, without any changes, under Microsoft Visual Studio 2017 and Windows 10 on the virtual PCs (imacs) in EMS 942. Undergraduate/Graduate Di erentiation: By a Graduate School requirement, graduate students taking this U/G level course must meet a higher level of expectation. Consequently, assignments and exams for graduate students are di erent in general from those for undergraduate students. Examples of the di erences include (i) extra and alternative assignments/problems that require deeper understanding and/or higher problem solving skills, and (ii) extra reading/research. 5