| Date | Topic | Details
|
1. | M 06/01
| Introduction
| Reading list:
class slides,
Lua [PIL],
line rasterization
[Bresenham1965],
polygon rasterization (edge flag)
[AcklandWeste1981],
polygon rasterization (active-edge list)
[WylieEtAl1967],
error diffusion dithering
[FloydSteinberg1976],
general books covering computer graphics
[FoleyVanDam1990]
[GomesVelho2008]
|
2. | W 08/01
| Geometry and transformations
| Warmup assignment posted: run examples from class
Reading list:
class slides,
Conics, affine geometry, and projective geometry [BrannanEtAl2012, chapters 0—3],
transformations
[Mathematica: xforms]
|
3. | F 10/01
| Vector graphics
| Warmup due
Assignment 1 posted: triangles, circles, and polygons
Reading list:
class slides,
PostScript tutorial
[PSBlueBook],
PostScript reference
[PSRedBook],
PDF reference [PDF],
OpenXPS reference [OpenXPS],
SVG reference [SVG],
OpenVG API [OpenVG],
NV Path Rendering API [NVPR],
inside-outside test for triangles and polygons
[Mathematica: polygons],
inside-outside test, center, and bounding-box for ellipses
[Mathematica: ellipses]
|
4. | M 13/01
| Bézier curves
| Reading list:
class slides,
integral Bézier curves
[Mathematica: Bézier],
general books covering these topics
[Sederberg2014, chapters 1—3]
[Farin2002, chapters 1—6]
|
5. | W 15/01
| More on Bézier curves
| Reading list:
class slides,
blossoms (multiaffine maps)
[Mathematica: Multiaffine maps],
rational quadratic Bézier curves
[Mathematica: Rational Bézier],
general books covering these topics
[Sederberg2014, chapters 1—3]
[Farin2002, chapters 13]
|
6. | F 17/01
| Floating-point and root-finding
| Assignment 1 due
Assignment 2 posted: paths
Reading list:
class slides
floating-point
[MullerEtAl2010],
finding roots
[Mathematica: roots],
solving quadratics
[Blinn2005],
solving cubics
[Blinn2007],
root finding
[Press2007, chapter 9],
root finding in Bernstein form
[Sederberg2014, chapter 9],
integration
[Press2007, chapter 4]
|
7. | M 20/01
| Color and compositing
| Reading list:
class slides,
great webpage covering color
[Hardprint],
sRGB color model
[sRGB],
seminal works on compositing
[Wallace1981]
[PorterDuff1984],
FAQs on color and gamma
[ColorFAQ]
[GammaFAQ],
general book covering these topics
[GomesVelho2008, chapters 5 and 17]
|
8. | W 22/01
| Gradient paints
| Reading list:
class slides,
EPS/PDF gradient samples,
[PSRedBook, section 4.9.3],
PDF reference [PDF, section 4.6],
SVG reference [SVG, chapter 13]
|
9. | F 24/01
| Differential geometry
| Assignment 2 due
Assignment 3 posted: transparency and gradients
List 1 posted
Reading list:
class slides,
integral Bézier curves
[Mathematica: Bézier],
rational quadratic Bézier curves
[Mathematica: Rational Bézier],
general books covering these topics
[Kreyszig1991, chapters 1–2],
[ONeil2006, chapters 1–3],
offset curves
[Sederberg2014, chapter 8],
[Hoschek1988],
arc-length approximation [Juttler1997]
|
10. | M 27/01
| Resultants and implicitization
| Reading list:
class slides,
resultants for CAGD
[MontaudouinTiller1984]
[GoldmanEtAl1984],
resultants
[Mathematica: resultants],
implicitization by affine functionals
[LoopBlinn2005]
[LoopBlinn2007],
implicitizing integral quadratics
[Mathematica: implicit quadratics],
implicitizing rational quadratics [Mathematica: implicit rational quadratics],
implicitizing integral cubics
[Mathematica: implicit cubics]
|
11. | W 29/01
| Inflection points and double points
| Reading list:
class slides,
computing inflection points and double-points [Mathematica: inflection-double],
tensor notation
[Blinn1992a]
[Blinn1992b],
cubic inflection points
[Blinn1999]
|
12. | F 31/01
| Abstract segments
| Assignment 3 due
Reading list:
class slides,
abstract segments
[LoopBlinn2005]
[LoopBlinn2007]
[GanacimEtAl2014]
|
13. | M 03/02
| Digital images and anti-aliasing
| Assignment 4 posted: implicit
intersection tests
Assignment 4 addition: add supersampling
Reading list:
class slides,
analytic anti-aliasing
[Duff1989]
[MansonSchaefer2013],
anti-aliasing and gamma, analytic anti-aliasing approximation
[NehabHoppe2008],
Fourier transforms
[Teixeira2001],
perceptual image metric
[ZhangWandell1996]
|
14. | W 05/02
| Texture mapping
| Assignment 4 addition: add texture mapping
Reading list:
class slides
Monte Carlo methods
[Anderson1999],
sampling and reconstruction
[NehabHoppe2014]
|
15. | F 07/02
| Acceleration datastructures
| List 2 posted
Reading list:
polygon clipping
[SutherlandHodgman1974],
Quad trees
[Warnock1969],
k-d trees
[Bentley1975]
[FriedmanEtAl1977],
BSP trees
[FuchsEtAl1980],
R-trees (BVH)
[Guttman1984]
|
16. | M 10/02
| The shortcut tree and regular grid
| Reading list:
lattice clipping
[NehabHoppe2008],
“tripod” line rasterization
[Cohen1994],
shortcut tree
[GanacimEtAl2014]
|
17. | W 12/02
| Typesetting
| Assignment 4 due
Group assignment 5 posted: accelerated rendering
Readling list:
caligraphy
video,
Making manuscripts
video,
Jaquet Droz's writer automaton
video,
KUKA scribe
video,
METAFONT tutorial
[Grandsire2004],
Gutenberg's printing press
video,
Linotype machine
video,
OpenType specification
[OpenType],
FreeType library
[FreeType],
HarfBuzz library
[HarfBuzz],
Unicode standard
[Unicode],
hyphenation and justification used in TeX
[KnuthPlass1981],
microtypography in TeX
[Thanh2000],
general book covering these topics
[Felici2012]
|
18. | F 14/02
| Computational geometry
| Reading list:
reentrant polygon clipping
[SutherlandHodgman1974],
general polygon clipping
[Vatti1992],
triangulation by ear-clipping
[Meisters1975],
plane-sweep convex hull
[Andrew1979],
plane-sweep all segment intersections
[BentleyOttmann1979],
plane-sweep closest pair of points
[HinrichsEtAl1988],
plane-sweep Voronoi diagram
[Fortune1986],
general books covering these topics
[deFigueiredoCarvalho1991]
[deBergEtAl2008]
|
19. | M 17/02
| Stroked primitives
| Reading list:
SVG stroke properties [SVG, chapter 11.4],
OpenXPS stroke rendering [OpenXPS, chapter 18.6],
arc-length approximation [Juttler1997],
offset (and evolute) approximation [Hoschek1988],
GPU-accelerated path rendering [KilgardBolz2012],
differential geometry of stroking
[Mathematica: stroke],
joining flattened offsets
[Mathematica: join],
|
20. | W 19/02
| Screen space effects (blur, clipping)
|
21. | T 20/02
| Other rendering algorithms
|
22. | F 21/02
| Test
| Group assignment 5 due
|