Lecture 5 of 41 Viewing 3 of 4: Normalizing Transformation and Fixed-Function Graphics...

Preview:

Citation preview

Computing & Information SciencesKansas State University

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

William H. Hsu

Department of Computing and Information Sciences, KSU

KSOL course pages: http://bit.ly/hGvXlH / http://bit.ly/eVizrE

Public mirror web site: http://www.kddresearch.org/Courses/CIS636

Instructor home page: http://www.cis.ksu.edu/~bhsu

Readings:

Today: Section 2.3 (esp. 2.3.7), 2.6, 2.7, Eberly 2e – see http://bit.ly/ieUq45

Next class:

This week: FVFH slides on Viewing

Viewing 3 of 4:Normalizing Transformation andFixed-Function Graphics Pipeline

Lecture 5 of 41

Computing & Information SciencesKansas State University

2

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Lecture Outline

Reading for Last Class: Chapters 2, 16, Eberly 2 e; Foley et al. Slides

Reading for Today: Section 2.3 (esp. 2.3.7), 2.6, 2.7, Eberly 2 e

Reading for Next Class: §2.5.1, 3.1 Eberly 2e

Last Time: Basic Viewing Principles

Projections: definitions, history

Perspective: optical principles, terminology

Today: View Volume Specification and Viewing Transformation

View volumes: ideal vs. approximated

Frustum in computer graphics (CG)

Specifying view volume in CG: Look and Up vectors

Aspect ratio, view angle, front/back clipping planes

Focal length

Parallel (cuboid) view volume & perspective frustum

Normalizing transformation (NT) & viewing transformation (VT)

Next Time: Fixed-Function Graphics Pipeline

Computing & Information SciencesKansas State University

3

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Where We Are

Computing & Information SciencesKansas State University

4

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Acknowledgements

James D. Foley

Georgia Tech

http://bit.ly/ajYf2Q

Andries van Dam

Brown University

http://www.cs.brown.edu/~avd/

Steven K. Feiner

Columbia University

http://www.cs.columbia.edu/~feiner/

John F. Hughes

Brown University

http://www.cs.brown.edu/~jfh/

Andy van DamT. J. Watson University Professor of Technology and Education & Professor of Computer Science

Brown University

Steve FeinerProfessor of Computer Science & Director, Computer Graphics and User Interfaces Laboratory

Columbia University

John F. HughesAssociate Professor of Computer Science

Brown University

Jim FoleyProfessor, College of Computing & Stephen Fleming Chair in Telecommunications

Georgia Institute of Technology

Computing & Information SciencesKansas State University

5

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Review:Types of Projections

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Computing & Information SciencesKansas State University

6

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Review:Synthetic Camera for 3-D Viewing

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Computing & Information SciencesKansas State University

7

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Review:Look and Up Vectors

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Computing & Information SciencesKansas State University

8

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Review: View Volume forParallel Projection

Computing & Information SciencesKansas State University

9

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Review: View Volume forPerspective Projection

Computing & Information SciencesKansas State University

10

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Viewing in Three Dimensions:Mathematics of Projections

Computing & Information SciencesKansas State University

11

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Stage 1:Specifying View Volume

Computing & Information SciencesKansas State University

12

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Examples of View Volume [1]:Perspective (Frustum)

Computing & Information SciencesKansas State University

13

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Examples of View Volume [2]:Parallel (Cuboid)

Computing & Information SciencesKansas State University

14

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Viewing Transformation:World (x, y, z) to Camera (u, v, w)

Computing & Information SciencesKansas State University

15

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Arbitrary View VolumeToo Complex

Computing & Information SciencesKansas State University

16

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Stage 2:Normalizing to Canonical View Volume

Computing & Information SciencesKansas State University

17

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Viewing Transformation Normalizing Transformation

Computing & Information SciencesKansas State University

18

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Building Viewing TransformationFrom View Specification

Computing & Information SciencesKansas State University

19

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Rotation [1]

Computing & Information SciencesKansas State University

20

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Rotation [2]

Computing & Information SciencesKansas State University

21

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Rotation [3]

Computing & Information SciencesKansas State University

22

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Rotation [4]

Computing & Information SciencesKansas State University

23

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Construction of Orientation Matrix

Computing & Information SciencesKansas State University

24

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Finding (u, v, w) fromPosition, Look, and Up [1]

Computing & Information SciencesKansas State University

25

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Finding (u, v, w) fromPosition, Look, and Up [2]

Computing & Information SciencesKansas State University

26

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Finding (u, v, w) fromPosition, Look, and Up [3]

Computing & Information SciencesKansas State University

27

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Finding (u, v, w) fromPosition, Look, and Up [4]

Computing & Information SciencesKansas State University

28

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Finding (u, v, w) fromPosition, Look, and Up [5]

Computing & Information SciencesKansas State University

29

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Transforming to Canonical View

Computing & Information SciencesKansas State University

30

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Overview

Computing & Information SciencesKansas State University

31

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 1

Computing & Information SciencesKansas State University

32

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 2

Computing & Information SciencesKansas State University

33

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 3

Computing & Information SciencesKansas State University

34

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 4

Computing & Information SciencesKansas State University

35

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 5

Computing & Information SciencesKansas State University

36

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 6

Computing & Information SciencesKansas State University

37

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 7

Computing & Information SciencesKansas State University

38

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Step 8

Computing & Information SciencesKansas State University

39

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Normalizing View Volume:Results

Computing & Information SciencesKansas State University

40

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation [1]

Computing & Information SciencesKansas State University

41

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation [2]

Computing & Information SciencesKansas State University

42

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation [3]

Computing & Information SciencesKansas State University

43

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation [4]

Computing & Information SciencesKansas State University

44

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation [5]

Computing & Information SciencesKansas State University

45

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Perspective Transformation:End Result

Computing & Information SciencesKansas State University

46

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Stage 3:Making 2-D Image

Computing & Information SciencesKansas State University

47

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Clipping

Computing & Information SciencesKansas State University

48

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Final Projection:Viewport Mapping

Computing & Information SciencesKansas State University

49

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Adapted from slides © 1997 – 2010 van Dam et al., Brown University

http://bit.ly/hiSt0f Reused with permission.

Fixed Function Graphics Pipeline:Composite Transformation Matrix

Computing & Information SciencesKansas State University

50

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Putting It All Together:Coordinate Spaces & Transformations

Computing & Information SciencesKansas State University

51

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Summary

Last Time: View Volume Specification and Viewing Transformation

View volumes: ideal vs. approximated

Specifying view volume in CG: Look and Up vectors

Aspect ratio, view angle, front/back clipping planes, focal length

Today

Viewing transformation (NT)

Rotation

Finding camera coordinates (u, v, w) from Look, Up

Normalizing transformation (NT)

Perspective transformation D

Overall CTM of fixed-function pipeline

Intro to clipping

Coming Week

Lab: OpenGL basics

Drawing lines, polygons

Parametric clipping

Computing & Information SciencesKansas State University

52

CIS 536/636

Introduction to Computer GraphicsLecture 5 of 41

Terminology

Today: View Volumes, Viewing Transformation

Parallel projection (cuboid) view volume vs. perspective projection frustum

Front/back (near/far) clipping planes

World coordinates (canonical): (x, y, z)

User coordinates (arbitary): (u, v, w), aka (u, v, n) or (R, U, D) in Eberly

Perspective transformation D: “morphs” frustum into cuboid

Normalizing transformation: inverse of viewing transformation (easier)

Other Topics

Clipping

Given view volume

Problem of determining visible elements of scene

Cumulative Transformation Matrices (CTM)

Translation, Rotation, Scaling (TRS)

Used to map arbitrary view to canonical view

Then “ready to take picture”

Recommended