Survey
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
The photorealism quest
An introduction to ray-tracing
The basic idea
Cast a ray from the viewer’s eye
through each pixel on the screen
to see where it hits some object
object
view-plane
eye of viewer
Apply illumination principles from physics
to determine the intensity of the light that
is reflected from that spot toward the eye
Example: a spherical object
• Mathematics problem: How can we find
the spot where a ray hits a sphere?
• We apply our knowledge of vector-algebra
• Describe sphere’s surface by an equation
• Describe ray’s trajectory by an equation
• Then ‘solve’ this system of two equations
• There could be 0, 1, or 2 distinct solutions
Describing the sphere
• A sphere consists of points in space which
lie at a fixed distance from a given center
• Let r denote this fixed distance (radius)
• Let c = ( cx, cy, cz ) be the sphere’s center
• If w = ( wx, wy, wz ) be any point in space,
then distance( w, c ) is written ║w – c║
• Formula: ║w – c║= sqrt( (w - c)•(w - c) )
• Sphere is a set: { w ε R3 | (w-c)•(w-c) = r }
Describing a ray
•
•
•
•
•
A ray is a geometrical half-line in space
It has a beginning point: b = ( bx, by, bz )
It has a direction-vector: d = ( dx, dy, dz )
It can be described with a parameter t ≥ 0
If w = ( wx, wy, wz ) is any point in space,
then w will be on the half-line just in case
w = b + td
for some choice of the parameter t ≥ 0 .
Computing the ‘hit’ time
• To find WHERE a ray hits a sphere, we
think of w as a point traveling in space,
and we ask: WHEN will w hit the shere?
• We can ‘substitute’ the formula for a point
on the half-line into our formula for points
that belong to the sphere’s surface, getting
an equation that has t as its only variable
• It’s easy to ‘solve’ such an equation for t
to find when w ‘hits’ the sphere’s surface
The algebra details
•
•
•
•
•
•
•
•
Sphere:
║w–c║=r
Half-line:
w = b + td,
t≥0
Substitution: ║ b + td – c ║ = r
Replacement:
Let q = c – b
Simplification:
║ td – q ║ = r
Square:
(td – q)•(td – q) = r2
Expand:
t2 d•d -2td•q + q•q = r2
Transpose: t2 d•d -2td•q + (q•q - r2) = 0
Apply Quadratic Formula
•
•
•
•
•
•
•
To solve:
t2 d•d -2td•q + (q•q - r2) = 0
Format:
At2 + Bt + C = 0
Formula: t = -B/2A ± sqrt( B2 – 4AC )/2A
Notice: there could be 0, 1, or 2 hit times
OK to use a simplifying assumption: d•d = 1
Equation becomes: t2 – 2td•q + (q•q – r2) = 0
Application: We want the ‘earliest’ hit-time:
t = (d•q) - sqrt( (d•q)2 – (q•q – r2)
)
Interpretations
half-line
w2
w1
b
c
A half-line that begins inside the sphere
will only ‘hit’ the spgere’s surface once
half-line
Second example: A planar surface
• Mathematical problem: How can we find
the spot where a ray hits a plane?
• Again we can employ vector-algebra
• Any plane is determined by a two entities:
– a point (chosen arbitrarily) that lies in it, and
– a vector that is perpendicular (normal) to it
• Let p be the point and n be the vector
• Plane is the set: { w ε R3 | (w-p)•n = 0 }
When does ray ‘hit’ plane?
•
•
•
•
•
•
•
Plane:
(w – p)•n = 0
Half-line:
w = b + td,
t≥0
Substitution: (b + td – p)•n = 0
Replacement:
Let q = p – b
Simplification:
(td – q)•n = 0
Expand:
td•n - q•n = 0
Solution:
t = (q•n)/(d•n)
Interpretations
half-line
n
p
d
w
If a half-line begins from a point outside a given
plane, then it can only hit that plane once (and
it might possibly not even hit that plane at all
half-line
Achromatic light
• Achromatic light: brightness, but no color
• Light can come from point-sources, and
light can come from ambient sources
• Incident light shining on the surface of an
object can react in three discernable ways:
– By being absorbed
– By being reflected
– By being transmitted (into the interior)
Illumination
• Besides knowing where a ray of light will
hit a surface, we will also need to know
whether that ray is reflected or absorbed
• If the ray of light is reflected by a surface,
does it travel mainly in one direction? Or
does it scatter off in several directions?
• Various surface materials react differently
Some terminology
• Scattering of light (“diffuse reradiation’)
– color may be affected by the surface
• Reflection of light (“specular reflection”)
– mirror-like shininess, color isn’t affected
Geometric ingredients
• Normal vector to the surface at a point
• Direction vector from point to viewer’s eye
• Direction vector from point to light-source