Monte Carlo reflection at a surface -- Algorithm 4.13
These algorithms are used to give the direction of a particle after
interaction with a surface. The 'weight' of the particle (representing the
intensity of a corresponding ray) would also be modified by multiplying the
weight before transmission or reflection by the corresponding transmittance or
reflectance of the surface material.
a. Alternative modes of reflection and transmission ('Top-hat' method).
Consider a ray which may be split with m different modes of reflection
or transmission at a surface. Let p1, p2 ..., pm be the
fraction of the ray in each of the modes (p1+p2+...+pm =1).
The following procedure makes a weighted random selection of a mode.
- Random number R
- Array cumulative(), where cumulative(1)=p1,
- cumulative(k)=p1+p2+...+pk, cumulative(m)=1
end while the final value of k is the mode selected
- This may be used in a simple model in which the 3 modes are transmission,
diffuse reflection and specular reflection. Alternatively, the values in array
cumulative() may represent an arbitrary distribution function divided into
m finite zones.
- Tocher(1) , Tregenza(2)
b. Lambertian reflection
The rule for diffuse reflection from a plane surface is the same as for
random emission from a diffusing surface. The procedure gives the direction
cosines of the reflected particle's direction from its point of interception
with the surface.
- Direction cosines of surface normal, n1 n2 n3
Perpendicular distance of surface from general origin, P
Random numbers, R1, R2
- (select direction of emission) algorithm 4.12b
- (calculate direction cosines) algorithm 5.11
- (convert cosines to general coordinates) algorithm 5.11b
c. Specular reflection
The direction cosines of a particle after specular reflection are given by
- 1. Tocher K D The Art of Simulation (London: English Universities
- 2. Tregenza P R The Monte Carlo method in lighting calculations
Lighting Research and Technology 15 (4) 163-170 (1983)
Go Back to Subtask C Contents