Introduction Week 1, Lecture 1



Similar documents
Introduction Week 1, Lecture 1

Introduction to Computer Graphics

Instructor. Goals. Image Synthesis Examples. Applications. Computer Graphics. Why Study 3D Computer Graphics?

Introduction to Computer Graphics

Course Overview. CSCI 480 Computer Graphics Lecture 1. Administrative Issues Modeling Animation Rendering OpenGL Programming [Angel Ch.

COMPUTER GRAPHICS Computer Graphics

COMP-557: Fundamentals of Computer Graphics McGill University, Fall 2010

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Lecture Notes, CEng 477

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

B2.53-R3: COMPUTER GRAPHICS. NOTE: 1. There are TWO PARTS in this Module/Paper. PART ONE contains FOUR questions and PART TWO contains FIVE questions.

Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007

NURBS Drawing Week 5, Lecture 10

NURBS Drawing Week 5, Lecture 10

Computer Graphics. Computer graphics deals with all aspects of creating images with a computer

CSCD18: Computer Graphics

A Short Introduction to Computer Graphics

Computer Graphics. Anders Hast

Institution : Majmaah University. Academic Department : College of Science at AzZulfi. Programme : Computer Science and Information Course :

CPIT-285 Computer Graphics

CS130 - Intro to computer graphics. Dr. Victor B. Zordan vbz@cs.ucr.edu Objectives

C O M P U T E R G R A P H I C S. Computer Graphics. Introduction I. Guoying Zhao 1 / 58

CS 4300 Computer Graphics. Prof. Harriet Fell Fall 2012 Lecture 1 September 5, 2011

Computer Graphics. Introduction. Computer graphics. What is computer graphics? Yung-Yu Chuang

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

Interactive Computer Graphics

COMP175: Computer Graphics. Lecture 1 Introduction and Display Technologies

Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list

BUILDING TELEPRESENCE SYSTEMS: Translating Science Fiction Ideas into Reality

MassArt Studio Foundation: Visual Language Digital Media Cookbook, Fall 2013

MMGD0203 Multimedia Design MMGD0203 MULTIMEDIA DESIGN. Chapter 3 Graphics and Animations

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

Computer Graphics ( / ) Prof. Misha Kazhdan misha@cs.jhu.edu

1. INTRODUCTION Graphics 2

How To Teach Computer Graphics

Comp 410/510. Computer Graphics Spring Introduction to Graphics Systems

INTRODUCTION TO RENDERING TECHNIQUES

Teaching Introductory Computer Graphics Via Ray Tracing

ICS : 435. Computer Graphics Applications. Instructor : Da'ad Albalawneh

Fundamentals of Computer Graphics

Computer Graphics. Overview. Thomas Funkhouser Princeton University C0S 426, Fall Introduction. Applications. Syllabus. Coursework.

CSE452 Computer Graphics

SkillsUSA 2014 Contest Projects 3-D Visualization and Animation

Adobe Illustrator CS5

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Computer Graphics. Introduction. Aleksandra Pizurica. Ghent University

Computer Graphics CS 543 Lecture 12 (Part 1) Curves. Prof Emmanuel Agu. Computer Science Dept. Worcester Polytechnic Institute (WPI)

Computer Graphics Hardware An Overview

Introduction to Computer Graphics

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

INTERACTIVE COMPUTER GRAPHICS Data Structures, Algorithms, Languages

IT Fundamentals of Multimedia (Optional)

GRAFICA - A COMPUTER GRAPHICS TEACHING ASSISTANT. Andreas Savva, George Ioannou, Vasso Stylianou, and George Portides, University of Nicosia Cyprus

How To Learn To Program In Csc 406 Computer Graphics

CS 4810 Introduction to Computer Graphics

Dhiren Bhatia Carnegie Mellon University

TEACHING INTRODUCTORY COMPUTER GRAPHICS WITH THE PROCESSING LANGUAGE

Lezione 4: Grafica 3D*(II)

UNIVERSITY OF MACAU DEPARTMENT OF COMPUTER AND INFORMATION SCIENCE SFTW 463 Data Visualization Syllabus 1 st Semester 2011/2012 Part A Course Outline

CAD and Creativity. Contents

Self-Positioning Handheld 3D Scanner

Advanced Rendering for Engineering & Styling

Certificate Courses in Animation

Data Storage 3.1. Foundations of Computer Science Cengage Learning

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

Digital Imaging and Image Editing

Enhanced LIC Pencil Filter

SAN DIEGO COMMUNITY COLLEGE DISTRICT MESA COLLEGE ASSOCIATE DEGREE COURSE OUTLINE

Computer Graphics. Coursework. Overview. Programming Assignments. Art Contest. Administrative Matters. Exams (30%) In class (Mar 11 and Apr 29)

Links. Blog. Great Images for Papers and Presentations 5/24/2011. Overview. Find help for entire process Quick link Theses and Dissertations

A Basic Summary of Image Formats

Course Developer: Charles Shami, Professor, Savannah College of Art and Design

Cartoon-Looking Rendering of 3D-Scenes

B.A IN GRAPHIC DESIGN

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

TEACHING GRAPHICS PROGRAMMING ON MOBILE DEVICES

CHAPTER 6: GRAPHICS, DIGITAL MEDIA, AND MULTIMEDIA

Data Storage. Chapter 3. Objectives. 3-1 Data Types. Data Inside the Computer. After studying this chapter, students should be able to:

How To Draw A 3D Virtual World In 3D Space (Computer Graphics)

Adobe Illustrator CS5 Part 1: Introduction to Illustrator

Glass coloured glass may pick up on scan. Top right of screen tabs: these tabs will relocate lost windows.

Using Photorealistic RenderMan for High-Quality Direct Volume Rendering

JEFFERSON TOWNSHIP PUBLIC SCHOOLS RELATED ARTS AND TECHNOLOGY CURRICULUM TITLE: 3D COMPUTER GRAPHICS GRADE: 10-12

Visualizing Data: Scalable Interactivity

How To Use Design Mentor

CS 378: Computer Game Technology

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus

Digitisation Disposal Policy Toolkit

ART 170: Web Design 1

JAVA DEVELOPER S GUIDE TO ASPRISE SCANNING & IMAGE CAPTURE SDK

Content. Chapter 4 Functions Basic concepts on real functions 62. Credits 11

CSE 167: Lecture 13: Bézier Curves. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

Transcription:

CS 430/585 Computer Graphics I Introduction Week 1, Lecture 1 David Breen, William Regli and Maxim Peysakhov Geometric and Intelligent Computing Laboratory Department of Computer Science Drexel University http://gicl.cs.drexel.edu Overview Course Policies/Issues Brief History of Computer Graphics The Field of Computer Graphics: A view from 66,000ft Structure of this course Homework overview Introduction and discussion of homework #1 1 2 Computer Graphics I: Course Goals Provide introduction to fundamentals of 2D and 3D computer graphics Representation (lines/curves/surfaces) Drawing and viewing Implementation simple frame buffer with XPM format Lines, circles, Bezier and NURBS curves Drawing algorithms FYI: Computer Graphics II 3D Computer Graphics Ray tracing algorithm Lighting, rendering, photorealism Bezier & polygonal meshes Hierarchical models 3 4

FYI: Computer Graphics II Computer Graphics I: Technical Material Course coverage Geometric transformations, 2D raster graphics, 2D viewing, 2D curves 3D viewing, 3D curves and surfaces Splines, B-Splines and NURBS 3D drawing, hidden line removal, Z-buffering, ray tracing Solid Modeling Chapters: 1, 5, 3, 6, 9, 10, 11, 12, 13 5 6 Computer Graphics I: Course Highlights Bresenham s scan conversion algorithm Cohen-Sutherland clipping algorithm The De Casteljau Algorithm B-Splines, NURBS, De Boor s Algorithm Z-buffer algorithm; backface culling Ray casting/tracing of 3D shapes and surfaces Computer Graphics I: Course Management Issues All course policies are in the syllabus Extensive use of PDF handouts Must read email list every day There will be 6 programming assignments (plan on minimum of 8-to-10 hrs) Suggestion: print out handouts before class, use them to take notes READ THE SYLLABUS!! 7 8

Computer Graphics I: Collaboration Policies Thou Shall write your own code do your own math attribute any work that is not your own talk among yourselves, share ideas Thou Shall Not Share code Use ideas without attribution Utilize geometry/graphics libraries All code will be auto checked for plagiarism Course Policies Late policy: NO late homeworks, No excuses. (Some considerations may be given for a valid medical reason) NO Cell phones! Cell phone ring = extra homework NO cheating. You caught you get F. No mercy. No extra homework's, projects or tests to improve the grade will be given after the final. Partial credit for implementing some of the requirements. Code that does not compile or does not produce output will get 0 points. 9 10 Violations will result in an automatic F Supplemental Book Required Go to class web page Computer Graphics, C Version, Donald Hearn, M. Pauline Baker, 2nd Edition, Prentice Hall, 1997, ISBN: 0135309247 Introduction to Computer Graphics, by James D. Foley, Andies Van Dam, Steven K. Feiner. Addison-Wesley Pub Co; ISBN: 0210609215 11 12

Computer Graphics: A Brief History In The Beginning 1963 Ivan Sutherland s Sketchpad Modified oscilloscope for drawing The original CAD system Graphics Hardware History Display Hardware Input Hardware vector displays 2D 1974 E&S Picture System light pen, tablet, mouse, joystick, raster displays track ball, touch panel 1975 E&S frame buffer 1970s & 80s - CCD analog image sensor + frame grabber 1980s cheap frame buffers bit-mapped personal computers 1990s & 2000 s - CMOS digital sensor + in-camera processing 1990s liquid-crystal displays high-x imaging (dynamic laptops range, resolution, depth of field, ) 2000s micro-mirror projectors digital cinema 3D 3D trackers, 3D scanners Other developments multiple cameras stereo, head-mounted displays active rangefinders autostereoscopic displays other tactile, haptic, sound data gloves Courtesy Marc Levoy @ Stanford 13 U voice 14 Courtesy Marc Levoy @ Stanford U Computer Graphics from 66,000ft 2D Graphics User Interaction/GUI 2D graphics and image processing 3D graphics/modeling Animation/Simulation Photorealism Virtual Reality Graphics Hardware Graphics programming environments Raster: Pixels X11 bitmap, XBM X11 pixmap, XPM GIF TIFF PNG JPG Lossy, jaggies when transforming, good for photos. Vector: Drawing instructions Postscript CGM Fig DWG Non-lossy, smooth when scaling, good for line art and diagrams. Example of a JPG image. 15 16

Raster: 2D Graphics Vector: Adobe Photoshop: 2D Raster Graphics 17 18 2D Raster Graphics Adobe Illustrator: 2D Vector Graphics 19 20

2D Vector Graphics Graphics Displays Nearly all video displays today are RASTER How do we go from bits and shapes to pixels on a raster display? Via Dave Mount @ UMD-CP 21 22 The Frame Buffer 3D Rendering Video memory holding pixels from which the video display is refreshed I.e. essentially a pix/bit map, a Raster image Usually implemented on hardware cards Smart frame buffers Accelerated 2D and 3D interaction Color depth (1, 8, 16, 24, 32 bit), Z-buffering Double buffering: use of a second memory space to reduce visual artifacts, i.e. swap inand-out screen buffers 23 1960s - the visibility problem Roberts (1963), Appel (1967) - hidden-line algorithms Warnock (1969), Watkins (1970) - hidden-surface algorithms Sutherland (1974) - visibility = sorting 1970s - raster graphics Gouraud (1971) - diffuse lighting Phong (1974) - specular lighting Blinn (1974) - curved surfaces, texture Catmull (1974) - Z-buffer hidden-surface algorithm Crow (1977) - anti-aliasing Courtesy Marc Levoy @ Stanford U 24

3D Rendering Present Developments Toward Reality early 1980s - global illumination Whitted (1980) - ray tracing Goral, Torrance et al. (1984), Cohen (1985) - radiosity Kajiya (1986) - the rendering equation early 1990s - nonphotorealistic rendering Drebin et al. (1988), Levoy (1988) - volume rendering Haeberli (1990) - impressionistic paint programs Salesin et al. (1994-) - automatic pen-and-ink illustration Meier (1996) - painterly rendering late 1980s - photorealism Cook (1984) - shade trees Perlin (1985) - shading languages Hanrahan and Lawson (1990) - RenderMan 25 26 Courtesy Marc Levoy @ Stanford U Courtesy Marc Levoy @ Stanford U Application Areas Lord Of the Rings Troll Scientific & Medical visualization Pixar 27 28

Application Areas Scientific & Medical visualization τ s = M ( θ) θ& + V( θ, θ& ) + G(θ) + F(θ, θ) & Lego Model of Windshield Viper Automated design representation and reasoning project Undergrad Joe Kopena @ Drexel Animated using I- DEAS CAD package Regli et al @ Drexel 29 30 Animated by Max Peysakhov @ Drexel University Lego Model of Windshield Viper 31 Animated by Max Peysakhov @ Drexel University Application Areas Scientific & Medical Visualization Lombeyda, Breen @ CalTech 32

Application Areas Scientific visualization Boeing 33 http://space.jpl.nasa.gov/ Hamburg U, Germany 34 Application Areas Telepresence Application Areas Scientific visualization UCLA Id Software Scientific visualization Kimmel Center FakeSpace Cave 35 36

Structure of this course Mathematical Preliminaries 2D Viewing, Raster Graphics, 2D Transformations Representing and Drawing Lines, Arcs and Curves 3D modeling and drawing, surfaces More advanced topics Hidden lines, Z-buffering, ray tracing, fractals Programming Assignments No APIs: OpenGL, GLUT, Mesa, DirectX Just grayscale rendering Output in the form of 2D bitmaps XPM: X11 Pixmap Format You will need to write your own code to write XPM Program executable + source to be handed in with SUBMIT command Executable MUST RUN on Solaris Whatever language you want, so long as you can deliver a statically linked executable (lisp, c, c++, java, ) 37 38 For programming assignments Use XPM as B/W software frame buffers We will be implementing parts of the 2D Engine, 3D Engine and Pixel Cache of a graphics accelerator Issue: How to translate the mathematics of 2D/3D shapes to the 2D screen? Tip: Renew your friendship with your linear algebra textbook Read homeworks ahead. It will help you to structure your code for future requirements. 39 HW 1 HW2 HW 3 HW 4 HW 5 HW 6 HW 7 HW 8 HW 9 Programming Assignments Dependency Write XPM file 2D Transformations Window to Viewport Transformation Line Drawing 2D Line Clipping Polygon Filling Polygon Clipping Circle Drawing Circle Clipping Bezier Curve Drawing Anti-aliasing Thick Primitives 3D Viewing 3D Clipping Z-Buffering Backface Culling Bezier Surfaces HW 1 HW 2 HW 3 HW 4 HW 5 HW 6 HW 7 HW 8 HW 9 Extra credit 40

And If You re Lucky Programming assignment 1 None Output B/W XPM Primary I/O formats for the course Create data structure to hold points and lines in memory (the world model) Implement 2D translation, rotation and scaling of the world model 41 42