CS G140 Graduate Computer Graphics - PowerPoint PPT Presentation

About This Presentation
Title:

CS G140 Graduate Computer Graphics

Description:

double R, G, B; // for RGB colors between 0 and 1. double kd; // diffuse ... Close up. 41 College of Computer and Information Science, Northeastern University ... – PowerPoint PPT presentation

Number of Views:66
Avg rating:3.0/5.0
Slides: 78
Provided by: FELL3
Category:

less

Transcript and Presenter's Notes

Title: CS G140 Graduate Computer Graphics


1
CS G140Graduate Computer Graphics
  • Prof. Harriet Fell
  • Spring 2006
  • Lecture 2 - January 23, 2006

2
Todays Topics
  • Ray Tracing
  • Ray-Sphere Intersection
  • Light Diffuse Reflection
  • Shadows
  • Phong Shading
  • More Math
  • Matrices
  • Transformations
  • Homogeneous Coordinates

3
Ray Tracinga World of Spheres
4
What is a Sphere
  • Vector3D center // 3 doubles
  • double radius
  • double R, G, B // for RGB colors between 0 and
    1
  • double kd // diffuse coeficient
  • double ks // specular coefficient
  • int specExp // specular exponent 0 if ks 0
  • (double ka // ambient light coefficient)
  • double kgr // global reflection coefficient
  • double kt // transmitting coefficient
  • int pic // gt 0 if picture texture is used

5
  • -.01 .01 500 800 // transform theta phi mu
    distance
  • 1 // antialias
  • 1 // numlights
  • 100 500 800 // Lx, Ly, Lz
  • 9 // numspheres
  • //cx cy cz radius R G B ka kd ks specExp kgr
    kt pic
  • -100 -100 0 40 .9 0 0 .2 .9 .0 4 0
    0 0
  • -100 0 0 40 .9 0 0 .2 .8 .1 8 .1
    0 0
  • -100 100 0 40 .9 0 0 .2 .7 .2 12 .2
    0 0
  • 0 -100 0 40 .9 0 0 .2 .6 .3 16 .3
    0 0
  • 0 0 0 40 .9 0 0 .2 .5 .4 20 .4
    0 0
  • 0 100 0 40 .9 0 0 .2 .4 .5 24 .5
    0 0
  • 100 -100 0 40 .9 0 0 .2 .3 .6 28 .6
    0 0
  • 100 0 0 40 .9 0 0 .2 .2 .7 32 .7
    0 0
  • 100 100 0 40 .9 0 0 .2 .1 .8 36 .8
    0 0

6
World of Spheres
  • Vector3D VP // the viewpoint
  • int numLights
  • Vector3D theLights5 // up to 5 white lights
  • double ka // ambient light coefficient
  • int numSpheres
  • Sphere theSpheres20 // 20 sphere max
  • int ppmT3 // ppm texture files
  • View sceneView // transform data
  • double distance // view plane to VP
  • bool antialias // if true antialias

7
Simple Ray Tracing for Detecting Visible Surfaces
  • select window on viewplane and center of
    projection
  • for (each scanline in image)
  • for (each pixel in the scanline)
  • determine ray from center of projection
  • through pixel
  • for (each object in scene)
  • if (object is intersected and
  • is closest considered thus far)
  • record intersection and object name
  • set pixels color to that of closest object
    intersected

8
Ray Trace 1Finding Visible Surfaces
9
Ray-Sphere Intersection
  • Given
  • Sphere
  • Center (cx, cy, cz)
  • Radius, R
  • Ray from P0 to P1
  • P0 (x0, y0, z0) and P1 (x1, y1, z1)
  • View Point
  • (Vx, Vy, Vz)
  • Project to window from (0,0,0) to (w,h,0)

10
Sphere Equation
11
Ray Equation
  • P0 (x0, y0, z0) and P1 (x1, y1, z1)
  • The ray from P0 to P1 is given by
  • P(t) (1 - t)P0 tP1 0 lt t lt 1
  • P0 t(P1 - P0)

12
Intersection Equation
  • P(t) P0 t(P1 - P0) 0 lt t lt 1
  • is really three equations
  • x(t) x0 t(x1 - x0)
  • y(t) y0 t(y1 - y0)
  • z(t) z0 t(z1 - z0) 0 lt t lt 1
  • Substitute x(t), y(t), and z(t) for x, y, z,
    respectively in

13
Solving the Intersection Equation
is a quadratic equation in variable t. For a
fixed pixel, VP, and sphere, x0, y0, z0, x1,
y1, z1, cx, cy, cz, and R eye pixel
sphere are all constants. We solve for t using
the quadratic formula.
14
The Quadratic Coefficients
Set dx x1 - x0 dy y1 - y0 dz z1 - z0
Now find the the coefficients
15
Computing Coefficients
16
The Coefficients
17
Solving the Equation
18
  • The intersection nearest P0 is given by
  • To find the coordinates of the intersection
    point

19
First Lighting Model
  • Ambient light is a global constant.
  • Ambient Light ka (AR, AG, AB)
  • ka is in the World of Spheres
  • 0 ? ka ? 1
  • (AR, AG, AB) average of the light sources
  • (AR, AG, AB) (1, 1, 1) for white light
  • Color of object S (SR, SG, SB)
  • Visible Color of an object S with only ambient
    light
  • CS ka (AR SR, AG SG, AB SB)
  • For white light
  • CS ka (SR, SG, SB)

20
Visible SurfacesAmbient Light
21
Second Lighting Model
  • Point source light L (LR, LG, LB) at (Lx, Ly,
    Lz)
  • Ambient light is also present.
  • Color at point p on an object S with ambient
    diffuse reflection
  • Cp ka (AR SR, AG SG, AB SB) kd kp(LR SR, LG SG,
    LB SB)
  • For white light, L (1, 1, 1)
  • Cp ka (SR, SG, SB) kd kp(SR, SG, SB)
  • kp depends on the point p on the object and (Lx,
    Ly, Lz)
  • kd depends on the object (sphere)
  • ka is global
  • ka kd ? 1

22
Diffuse Light
23
Lambertian Reflection ModelDiffuse Shading
  • For matte (non-shiny) objects
  • Examples
  • Matte paper, newsprint
  • Unpolished wood
  • Unpolished stones
  • Color at a point on a matte object does not
    change with viewpoint.

24
Physics of Lambertian Reflection
  • Incoming light is partially absorbed and
    partially transmitted equally in all directions

25
Geometry of Lamberts Law
90 - ?
?
dAcos(?)
90 - ?
Surface 2
Surface 1
26
cos(?)N?L
Cp ka (SR, SG, SB) kd N?L (SR, SG, SB)
27
Finding N
N (x-cx, y-cy, z-cz) (x-cx, y-cy, z-cz)
normal
(x, y, z)
radius
(cx, cy, cz)
28
Diffuse Light 2
29
Time for a Break
30
Shadows on Spheres
31
More Shadows
32
Finding Shadows
Shadow Ray
P
Pixel gets shadow color
33
Shadow Color
  • Given
  • Ray from P (point on sphere S) to L (light)
  • P P0 (x0, y0, z0) and L P1 (x1, y1, z1)
  • Find out whether the ray intersects any other
    object (sphere).
  • If it does, P is in shadow.
  • Use only ambient light for pixel.

34
Shape of Shadows
35
Different Views
36
Planets
37
Starry Skies
38
Shadows on the Plane
39
Finding Shadowson the Back Plane
Shadow Ray
P
Pixel in Shadow
40
Close up
41
On the Table
42
Phong Highlight
43
Phong Lighting Model
Light Normal Reflected View
The viewer only sees the light when ? is 0.
N
L
R
V
?
?
?
We make the highlight maximal when ? is 0, but
have it fade off gradually.
Surface
44
Phong Lighting Model
cos(?) R?V We use cosn(?). The higher n is,
the faster the drop off.
N
L
R
V
For white light
?
?
?
Surface
Cp ka (SR, SG, SB) kd N?L (SR, SG, SB) ks
(R?V)n(1, 1, 1)
45
Powers of cos(?)
cos10(?) cos20(?) cos40(?) cos80(?)
46
Computing R
L R (2 L?N) N R (2 L?N) N - L
L
R
N
LR
R
L
?
?
47
The Halfway Vector
  • From the picture
  • ? ? - ? ?
  • So ? ?/2.

H L V L V Use H?N instead of
R?V. H is less expensive to compute than R.
N
H
This is not generally true. Why?
L
R
?
V
?
?
?
Surface
Cp ka (SR, SG, SB) kd N?L (SR, SG, SB) ks
(H?N)n (1, 1, 1)
48
Varied Phong Highlights
49
Varying Reflectivity
50
More Math
  • Matrices
  • Transformations
  • Homogeneous Coordinates

51
Matrices
  • We use 2x2, 3x3, and 4x4 matrices in computer
    graphics.
  • Well start with a review of 2D matrices and
    transformations.

52
Basic 2D Linear Transforms
53
Scale by .5
54
Scaling by .5
55
General Scaling
56
General Scaling
57
Rotation
-sin(?)
cos(?)
58
Rotation
?
59
Reflection in y-axis
60
Reflection in y-axis
y
x
61
Reflection in x-axis
62
Reflection in x-axis
y
y
x
x
63
Shear-x
s
64
Shear x
65
Shear-y
s
66
Shear y
67
Linear Transformations
  • Scale, Reflection, Rotation, and Shear are all
    linear transformations
  • They satisfy T(au bv) aT(u) bT(v)
  • u and v are vectors
  • a and b are scalars
  • If T is a linear transformation
  • T((0, 0)) (0, 0)

68
Composing Linear Transformations
  • If T1 and T2 are transformations
  • T2 T1(v) def T2( T1(v))
  • If T1 and T2 are linear and are represented by
    matrices M1 and M2
  • T2 T1 is represented by M2 M1
  • T2 T1(v) T2( T1(v)) (M2 M1)(v)

69
Reflection About an Arbitrary Line (through the
origin)
70
Reflection as a Composition
71
Decomposing Linear Transformations
  • Any 2D Linear Transformation can be decomposed
    into the product of a rotation, a scale, and a
    rotation if the scale can have negative numbers.
  • M R1SR2

72
Rotation about an Arbitrary Point
?
This is not a linear transformation. The origin
moves.
73
Translation
(x, y)?(xa,yb)
y
y
(a, b)
x
x
This is not a linear transformation. The origin
moves.
74
Homogeneous Coordinates
y
Embed the xy-plane in R3 at z 1. (x, y) ? (x,
y, 1)
y
x
x
z
75
2D Linear Transformations as 3D Matrices
  • Any 2D linear transformation can be represented
    by a 2x2 matrix

or a 3x3 matrix
76
2D Linear Translations as 3D Matrices
  • Any 2D translation can be represented by a 3x3
    matrix.

This is a 3D shear that acts as a translation on
the plane z 1.
77
Translation as a Shear
y
y
x
x
z
Write a Comment
User Comments (0)
About PowerShow.com