CSC418 / CSCD18 / CSC2504
Computer Science Department University of Toronto Version: November 24, 2006
Copyright c 2005 David Fleet and Aaron Hertzmann
CSC418 / CSCD18 / CSC2504
CONTENTS
Contents
Conventions and Notation 1 Introduction to Graphics 1.1 Raster Displays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Basic Line Drawing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Curves 2.1 Parametric Curves . . . . . . . 2.1.1 Tangents and Normals 2.2 Ellipses . . . . . . . . . . . . 2.3 Polygons . . . . . . . . . . . 2.4 Rendering Curves in OpenGL v 1 1 2 4 4 6 7 8 8 10 10 11 13 14 15 16 18 21 21 21 22 22 22 23 24 24 25 26 26 27 27 29 29 30 i
2
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
3
Transformations 3.1 2D Transformations . . . . . . . . . . . . . . . 3.2 Affine Transformations . . . . . . . . . . . . . 3.3 Homogeneous Coordinates . . . . . . . . . . . 3.4 Uses and Abuses of Homogeneous Coordinates 3.5 Hierarchical Transformations . . . . . . . . . . 3.6 Transformations in OpenGL . . . . . . . . . . Coordinate Free Geometry 3D Objects 5.1 Surface Representations . . . . . . . . . 5.2 Planes . . . . . . . . . . . . . . . . . . 5.3 Surface Tangents and Normals . . . . . 5.3.1 Curves on Surfaces . . . . . . . 5.3.2 Parametric Form . . . . . . . . 5.3.3 Implicit Form . . . . . . . . . . 5.4 Parametric Surfaces . . . . . . . . . . . 5.4.1 Bilinear Patch . . . . . . . . . . 5.4.2 Cylinder . . . . . . . . . . . . 5.4.3 Surface of Revolution . . . . . 5.4.4 Quadric . . . . . . . . . . . . . 5.4.5 Polygonal Mesh . . . . . . . . 5.5 3D Affine