6.837 introduction to computer graphics - dspace@mit...
TRANSCRIPT
![Page 1: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/1.jpg)
6.837Introduction to Computer Graphics
![Page 2: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/2.jpg)
Overview 2
Plan• Introduction
• Overview of the semester
• Administrivia
• Iterated Function Systems (fractals)
![Page 3: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/3.jpg)
Overview 3
Team• Lecturers
– Frédo Durand– Barb Cutler
• Course secretary– Bryt Bradley
![Page 4: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/4.jpg)
Overview 4
Why Computer Graphics?• Movies• Games• CAD-CAM• Simulation• Virtual reality• Visualization• Medical imaging
![Page 5: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/5.jpg)
Overview 5
What you will learn in 6.837• Fundamentals of computer graphics algorithms• Able to implement most applications just shown• Understand how graphics APIs and the graphics
hardware work
![Page 6: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/6.jpg)
Overview 6
What you will NOT learn• Software packages
– CAD-CAM– Photoshop and other painting tools
• Artistic skills• Game design• Graphics API
– Although you will be exposed to OpenGL
![Page 7: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/7.jpg)
Overview 7
Plan• Introduction
• Overview of the semester
• Administrivia
• Iterated Function Systems (fractals)
![Page 8: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/8.jpg)
Overview 8
Overview of the semester• Ray Tracing
– Quiz 1• Animation, modeling, IBMR
– Choice of final project• Rendering pipeline
– Quiz 2• Advanced topics
![Page 9: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/9.jpg)
Overview 9
Ray Casting• For every pixel
construct a ray from the eye – For every object in the scene
• Find intersection with the ray • Keep if closest
![Page 10: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/10.jpg)
Overview 10
Ray Casting• For every pixel
construct a ray from the eye – For every object in the scene
• Find intersection with the ray • Keep if closest
![Page 11: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/11.jpg)
Overview 11
Ray Tracing• Shade (interaction of light and material)• Secondary rays (shadows, reflection, refraction
![Page 12: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/12.jpg)
Overview 12
Ray Tracing• Original Ray-traced
image by Whitted
• Image computed using the Dali ray tracer by Henrik Wann Jensen
• Environment map by Paul Debevec
Image removed due to copyright
considerations.
Image removed due to copyright considerations.
![Page 13: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/13.jpg)
Overview 13
Overview of the semester• Ray Tracing
– Quiz 1• Animation, modeling, IBMR
– Choice of final project• Rendering pipeline
– Quiz 2• Advanced topics
![Page 14: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/14.jpg)
Animation: Keyframing
Overview 14
Image adapted from:Lasseter, John. "Principles of Traditional Animation applied to 3D Computer Animation."ACM SIGGRAPH Computer Graphics 21, no. 4 (July 1987): 35-44.
Squash & Stretch in Luxo Jr.'s Hop
Image adapted from:Lasseter, John. "Principles of Traditional Animation applied to 3D Computer Animation."ACM SIGGRAPH Computer Graphics 21, no. 4 (July 1987): 35-44.
![Page 15: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/15.jpg)
Overview 15
Particle system (PDE)• Animation
– Keyframing and interpolation– Simulation
Images removed due to copyright considerations.
![Page 16: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/16.jpg)
Overview 16
Rigid body dynamics• Simulate all external forces and torques
( )tx
( )tv( )1
b tp
( )3b tp
( )2b tp
( )2 tf
( )3 tf
( )1 tf
![Page 17: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/17.jpg)
Overview 17
Modeling• Curved surfaces• Subdivision surfaces
Images removed due to copyright considerations.
![Page 18: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/18.jpg)
Overview 18
Image-based Rendering• Use images as inputs and representation• E.g. Image-based modeling and photo editing
Boh, Chen, Dorsey and Durand 2001
Input image New viewpoint Relighting
![Page 19: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/19.jpg)
Overview 19
Overview of the semester• Ray Tracing
– Quiz 1• Animation, modeling, IBMR
– Choice of final project• Rendering pipeline
– Quiz 2• Advanced topics
![Page 20: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/20.jpg)
Overview 20
The Rendering PipelineRendering Pipeline• For each triangle
– For each projected pixel
Project scene to the pixels
Ray Casting• For each pixel
– For each object
Send pixels to the scene
![Page 21: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/21.jpg)
Overview 21
The Rendering Pipeline• Transformations
• Clipping
• Rasterization
• Visibility
NEAR
EYE
FARy
zxo
x
z o
-nz
y
xo
Courtesy of Leonard McMillan, Computer Science at the University of North Carolina in Chapel Hill. Used with permission
![Page 22: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/22.jpg)
Overview 22
Overview of the semester• Ray Tracing
– Quiz 1• Animation, modeling, IBMR
– Choice of final project• Rendering pipeline
– Quiz 2• Advanced topics
![Page 23: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/23.jpg)
Overview 23
Textures and shading
For more info on the computer artwork of Jeremy Birnsee http://www.3drender.com/jbirn/productions.html
Courtesy of Jeremy Birn. Used with permission.
![Page 24: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/24.jpg)
Overview 24
shadows
Image removed due to copyright considerations.
Image removed due to copyright considerations.
![Page 25: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/25.jpg)
Overview 25
Traditional Ray Tracing
Image removed due to copyright considerations.
![Page 26: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/26.jpg)
Overview 26
Ray Tracing+soft shadows
Image removed due to copyright considerations.
![Page 27: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/27.jpg)
Overview 27
Ray Tracing+caustics
Image removed due to copyright considerations.
![Page 28: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/28.jpg)
Overview 28
Global Illumination
Image removed due to copyright considerations.
![Page 29: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/29.jpg)
Overview 29
Antialiasing
Courtesy of Leonard McMillan, Computer Science at the University of North Carolina in Chapel Hill. Used with permission.
![Page 30: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/30.jpg)
Overview 30
Questions?
![Page 31: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/31.jpg)
Overview 31
Plan• Introduction
• Overview of the semester
• Administrivia
• Iterated Function Systems (fractals)
![Page 32: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/32.jpg)
Overview 32
Administrivia• Web:
http://graphics.csail.mit.edu/classes/6.837/F03/• Lectures
– Slides will be online• Office hours
– Posted on the web• Review sessions
– C++, linear algebra
![Page 33: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/33.jpg)
Overview 33
Prerequisites• Not enforced• 18.06 Linear Algebra
– Simple linear algebra, vectors, matrices, basis, solving systems of equations, inversion
• 6.046J Algorithms– Orders of growth, bounds, sorting, trees
• C++– All assignments are in C++– Review/introductory session Monday
![Page 34: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/34.jpg)
Overview 34
Grading policy• Assignments: 40%
– Must be completed individually– No late policy. Stamped by stellar.
• 2 Quizzes: 20%– 1 hour in class
• Final project: 40%– Groups of 3, single grade for the group– Initial proposal: 3-5 pages– Steady weekly progress– Final report & presentation– Overall technical merit
![Page 35: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/35.jpg)
Overview 35
Assignments• Turn in code AND executable• We will watch code style• Platform
– Windows– Linux
• Collaboration policy:– You can chat, but code on your own
• No late policy
![Page 36: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/36.jpg)
Overview 36
Project• Groups of 3• Brainstorming
– Middle of the semester• Proposal • Weekly meeting with TAs• Report & presentation
![Page 37: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/37.jpg)
Overview 37
Plan• Introduction
• Overview of the semester
• Administrivia
• Iterated Function Systems (fractals)
![Page 38: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/38.jpg)
Overview 38
IFS: self-similar fractals• Described by a set of n transformations fi
– Capture the self-similarity– Affine transformations– Contractions (reduce distances)
• An attractor is a fixed point
Image from http://spanky.triumf.ca/www/fractal-info/ifs-type.htm
∪ )(AfA i=
Image removed due to copyright considerations.
![Page 39: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/39.jpg)
Overview 39
Example: Sierpinsky triangle• 3 transforms• Translation and scale by 0.5
![Page 40: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/40.jpg)
Overview 40
RenderingFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
• Probabilistic application of one transformation
![Page 41: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/41.jpg)
Overview 41
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 42: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/42.jpg)
Overview 42
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 43: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/43.jpg)
Overview 43
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 44: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/44.jpg)
Overview 44
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 45: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/45.jpg)
Overview 45
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 46: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/46.jpg)
Overview 46
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 47: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/47.jpg)
Overview 47
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 48: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/48.jpg)
Overview 48
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 49: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/49.jpg)
Overview 49
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 50: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/50.jpg)
Overview 50
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 51: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/51.jpg)
Overview 51
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 52: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/52.jpg)
Overview 52
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 53: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/53.jpg)
Overview 53
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 54: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/54.jpg)
Overview 54
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 55: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/55.jpg)
Overview 55
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 56: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/56.jpg)
Overview 56
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 57: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/57.jpg)
Overview 57
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 58: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/58.jpg)
Overview 58
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 59: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/59.jpg)
Overview 59
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 60: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/60.jpg)
Overview 60
Example: Sierpinsky triangleFor a number of random input points (x0, y0)
For j=0 to big numberPick transformation i
(xk+1, yk+1) = fi (xk, yk)Display (xk, yk)
![Page 61: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/61.jpg)
Overview 61
Other IFS• The Dragon
![Page 62: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/62.jpg)
Overview 62
Application: fractal compression• Exploit the self-similarity in an image• E.g. http://fractales.inria.fr/index.php?page=img_compression
![Page 63: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/63.jpg)
Overview 63
Assignment: IFS • Write a C++ IFS class• Get familiar with
– vector and matrix library– Image library
• Due Wednesday at 11:59pm
• Check on the web pagehttp://graphics.lcs.mit.edu/classes/6.837/F03/
![Page 64: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/64.jpg)
Overview 64
Review/introduction session: C++• Monday 7:30-9
![Page 65: 6.837 Introduction to Computer Graphics - DSpace@MIT Homedspace.mit.edu/bitstream/handle/1721.1/86191/6-837-fall-2003/contents/lecture-notes/01...•CAD-CAM • Simulation • Virtual](https://reader035.vdocuments.us/reader035/viewer/2022062920/5f01ef6b7e708231d401c2dd/html5/thumbnails/65.jpg)
Overview 65
Questions?