Você está na página 1de 32

REMOTE 5ENS. ENVIRON.

36:73-104 (1991)

A Computer Graphics Based Model for


Seattering from Objects of Arbitrary Shapes
in the Optical Region
Narendra S. Goel, Ivan Rozehnal, and Richard L. Thompson*
Department of Systems Science, State University of New York, Binghamton

A ~eneral computer graphics' based model, named


DIANA, is presented .~?r computer generation of
objects of arbitrary shape (including vegetation
eanopies) and for calculating bidirectional refleetances and scattering from them, in the visible
and near infrared regions. The computer generation uses a modified Lindemnayer system (L-sy,stern) approach. With this approach, one can, in a
simph' way, ~enerate objects of arbitrary shapes
(such as plants and tree,s and their canopies, houses
of rarious shapes, and mountains) as well as simulation of their growth, dynamics, and movement. In
renderin~ an object on a computer screen, the
object is divided inW fiwets (triangles and quadrilaterals), and some existing and some new computer graphics tec]miques are used to display the
object, with shading and shadowing appropriately
taken into account. These rendering techniques are
also used, in an imu)vative way, to calculate the
scattering and reflectance from. the object. The use
of the teehnique is illustrated with scattering from

Address correspondt,nee to Narendra S. Goel, l)ept, of Systems


Science, State Unix. of New York, P.O. Box 6000, Binghamton, NY
13902-6000.
* Permanent address: 1136 Grand Avenue, Pacific Beach,
CA 92109
Received 15 October 1990: recised 13 March 1991.
0034-4257/91 / $3.50
Elserier Science Publishing Co. Inc., 1991
655 Act'nue (~fthe Americas, Netc York, NY 10010

canopies of simulated corn plants. The scattering is


quantified usin~ traditional measures like bidirectional reflectance filctor and albedo as well as
rendering of the canopies with brightness of a facet
proportional to the amount oJ" light scattered from
the object in the c&wer's direction.
1. I N T R O D U C T I O N

When electromagnetic radiation is incident on a


terrestrial surface or a three-(limensional (3D) object (bare soil, sand dunes, vegetation canopies,
etc.), it is absorl)ed and scattered. It is now well
established that this scattering is generally
anisotropic. This anisotropy is captured through
the distribution of bidirectional reflectance fitctors
(BRF) which basically is a 3D plot of reflectance
(from the surface or the 3D object) as a fimction of
view zenith and azimuth angles, for a fixed solar
direction. Such functions in visible, near-infrared,
and mid-infrared regions have surlhces which are
structurally complex, consisting of peaks and valleys. Further, the position and relative sizes of
these structural features are known to be related
to the structural parameters of the underlying
object, characteristics of the incident radiation,
and solar and viewing geometries. For example
(Deering, 1989), in the 6,50-670 nm (red) spectral

73

74

Goel et al.

band, for a dense green grass canopy, there is a


prominent backscattering peak (known as hot spot),
while, for the dune flats, there is a strong forwardscattering peak (specular reflection). Extraction of
the structural parameters of the surface and objects from the BRF distribution is an important
goal of measuring BRF distribution, and is a crucial element for the interpretation of remotely
sensed data to be acquired by the planned Earth
Observing System (EOS), to monitor terrestrial
objects (including vegetation) on a global scale.
One of the approaches to analyze the measured BRF distribution, and extract information
about the characteristics of the object, is to carry
out a least square fit of the observed BRF distribution to a model for the scattering process. For
vegetation canopies, such models are known as
canopy reflectance models. They have been recently reviewed by Goel (1988), Myneni et al.
(1989), and in Asrar (1989).
The least square fit is also referred to as
inverting the canopy reflectance model. This inversion, in some cases, allows the estimation of
biophysical parameters like leaf area index and
leaf angle distribution (Goel and Deering, 1985;
Goel, 1989) from the measured canopy BRF distribution. This method for analyzing the BRF distribution has at least one shortcoming--because of
the simplifying assmnptions made in the canopy
reflectance model, the fit ignores the fine structural features of the BRF surface which may have
important information about the canopy.
In this paper we propose a novel approach,
based on computer graphics, to model the scattering from a canopy consisting of objects of arbitrary
shapes in an arbitrary configuration. This approach
should in principle, give a realistic reflectance
model, with fine structural features of the BRF
surt<ace intact. This model, which we will call as
DIANA, has basically four components: 1) Con>
puter generation of the scattering/reflecting surface or object using one of the recently developed
iterative techniques like the Lindenmayer system
(L-system) and fractals (Prusinkiewicz and Hanan,
1989; Prusinkiewicz and Lindenmayer, 1990; Goel
and Rozehnal, 1991; Peitgen and Saupe, 1988).
This object is described in terms of 3000-35,000
polygons (3- and 4-sided). (2) Determination of
visibility of a tZacet (2 per polygon) by the Sun (for
determining sunlit facets) or by an observer (for
BRF calculations). This is done by using computer

graphics techniques used for generating realistic


(to a human eye) display of objects. Here it should
be noted that such a display of an object involves
modeling interaction of light with various parts of
the object to determine the brightness and shadowing one must choose while displaying the object. 3) Determination of whether a facet is visible
from another tZacet (needed for calculating multipie scattering of incident radiation), and if so, what
fraction of energy flux leaving a facet reaches
another facet. This is done using the concepts of
radiosity used in realistic display of objects under
diffuse lighting conditions (such as those found in
a room). 4) Rendering of the canopy, with a 3D
perspective, with brightness of a facet indicating
the amount of scattered light reaching an observer,
and the calculation of measurable quantities such
as canopy bidirectional reflectance factor BRF and
albedo.
In Section 2, we describe the approach used
for generating 3D objects and their canopies. In
Section 3, we describe the computer graphics
model for calculating the scattering in the optical
region from such canopies. In Section 4, we illustrate the method for a canopy of "sinmlated corn"
plants, chosen as a representative for vegetation
canopy. In Section 5, we make some concluding
remarks, and suggest directions for filture research.

2. GENERATION OF
THREE-DIMENSIONAL OBJECTS
In this section, we will describe our approach for
computer generation of 3D objects of arbitrary
shapes. As a prelude to our discussion, we first
describe the general approaches which have been
most frequently used.

2.1 General Approaches


Recent advances in the computer graphics have
made it possible to generate, even on a personal
computer, images of 3D objects that are extremely
realistic. The algorithms used are based mostly on
two mathematical theories--fraetals and L-systems.
Fractals were introduced by Mandelbrot
(1983), who recognized the relationship between
large scale structures and small scale detail as an

Computer Graphics Model for Scattering 75

important aspect of natural phenomena. He gave


the name fractals to objects that exhibit increasing
detail as one zooms in closer. If the small scale
detail resembles the large scale detail, the object
is said to be self-similar. The fractal models of
natural phenomena and objects have received
much attention lately (Peitgen and Saupe, 1988;
Barnsley, 1988; Feder, 1988).
L-systems are parallel rewriting systems introduced by Lindenmayer (1968) for describing the
development and growth of living systems. There
are many types of L-systems. The most basic one,
the 0L-system, is an ordered triplet (V, s, P), where
V is a collection of symbols, letters, or characters,
called the alphabet, s is a sequence of letters from
V, called the axiom (initial word), and P is a finite
set of productions or production rules. A pair
(a, x) of letter a and word x is called the production rule, and is written as a---> x. The letter a and
the word x are called the predecessor and the
successor of this production, respectively. An 0Lsystem is deterministic (DOL-system) if and only if
for each letter a of alphabet V there is only one
word x such that a ---~ x. All words generated from
the initial word (the axiom) are considered to be
words in the language of the grammar.
Let us illustrate the DOL-system by a simple
example. Here the alphabet has only two symbols
a and b, the axiom is the word a, and there are
two production rules pl and p2 defined below:
Axiom
s:a

Production Rules
pl: a ---~h

p2: b---~ba
This system will produce the following sequence
of symbols:

a--,h---,ha---,(ha)h---,(ha)h(ha)
---,(ba)h(ha)(ha)h ---,etc.
of lengths 1, 1,2, 3, 5, 8, . Here we have added
parentheses to show the replacement process. Note
that in each stage of generation of sequence of
symbols, the production rules are applied simultaneously [e.g., in going from ba to (ba)b, b is
replaced by ba according to the production rule
p2, while a is replaced by b according to the
production rule pl).
If a word is interpreted graphically as a sequence of commands that control the position and

movement of a graphical "turtle" (Abelson and


diSessa, 1982), one can generate complex images
using simple L-system codes. For example,
Prusinkiewicz and Lindenmayer (1990) and
Prusinkiewicz and Hanan (1989) have used L-systems to generate realistic plant images. Goel and
Rozehnal (1991) have applied the L-systems to
nonbiological systems, for example, to create musical compositions, for carrying out algebraic computations, for generating weaving patterns, for
manufacturing assembly, and for designing houses.
Various extensions of the 0L-systems have
been proposed and studied to achieve flexibility
and variety in the sequences of symbols that can
be generated by an L-system. For example, in a
TOL-system (for Table 0L-system), one can specify
that a particular set of production rules are to be
applied for a specified number of iterations, and
then another set of rules for another specified
number of iterations, and so on. Such systems are
used to describe two or more successive phases of
growth by means of a change in the production
rules. In probabilistic 0L-systems, for one or more
symbols there are many production rules (such as
a---~x, a---~y), which are applied with specific
probabilities. For these systems, the structures
generated tend to be less regular and more akin to
natural objects.
We note that many fractals can be generated
by using the L-systems (Goel and Rozehnal, 1991;
Prusinkiewicz and Hanan, 1989), tempting one to
speculate a strong relationship between these two
techniques. We have a bias towards using L-systems for generating structures because we believe
that this approach is more versatile, as is demonstrated to some extent in Goel and Rozehnal
(1991).

2.2 Specific Approach Based on L-systems


In order to be able to generate a variety of complex 3D structures, we had to extend the 0L-system. To keep the emphasis of the paper on the
calculation of the scattering, we will not go into
details of the extended L-system. Instead, we will
qualitatively describe the basic L-system used and
its extensions.
The alphabet V for the L-system used consists
of the complete Ascii character set from ! to ~
(decimal values from 33 to 126). Out of these
characters, some are interpreted graphically, using

76

Goel et al.

3D turtle graphics (Abelson and diSessa, 1982).


These characters can be classified into two categories: fixed and nonfixed. Fixed characters always
cause a predefined turtle movement, whereas the
nonfixed ones cause the turtle to move in a way
which could be dynamically defined.
The set of fixed operators are chosen from
those used by Prusinkiewiez (1987) for a deterministie 0L system (we will call this set the original set), augmented with others to give the needed
flexibility in designing complex obj'eets and siinulating their growth and dynamics. We now describe both the original and augmented operators.
In 3D, a state of the turtle is defined by its
position and its orientation. A vector P represents
the turtle's position in Cartesian coordinates. The
orientation of the turtle is represented by three
unit vectors H, L, U, indicating the turtle's heading, the direction to the left, and the up direction,
respectively. These vectors are perpendicular to
each other, with H X L = U (see Fig. i). In addition, the state of the turtle is specified by c, the
color of the line drawn bv the turtle.
Thus, a turtle state is represented by a quintuplet: P, H, L, U, c. The turtle can move from one
location to another, and can also rotate around any
of the three vectors defining its orientation. After
rotation, its new orientation vector (H',L',U') is
related to the old one through a 3 3 rotation
matrix R:

(n',I:,U') = (n,L,U)R.

(1)

Fitzure i. Vectors specfl~'ing the orientation of the


turtle and the operators fin angular movement of
the turtle.

The original set of characters (letters) of the


alphabet V consists of the fbllowing svmbols (and
their interpretations):
F

f
+
&
^

\
/

Move forward by a predefined step d in


the direction of heading. The position Of
the turtle changes to P' = P + dH. A line
segment of specified of length d and
color c between points P and P' is drawn.
As F except without drawing a line.
Turn left by an angle 0.
Turn right by an angle 0.
Pitch down by an angle 0.
Pitch tip by an angle 0.
Roll left by an angle 0.
Roll right by an angle 0.

In the above set of symbols fi~r rotation, any


number n before a symbol is translated into the
rotation angle nO. We usually set 0 = 1.
]
[

Turn away or make a U-turn.


Push current state of the turtle into a
push-down stack.
] Pop a state from the stack, and make it the
cnrrent state of the turtle.
(Note: Push-down and pop are the jargons of
computer science. In the turtle graphics, the
turtle will carry out the instructions within the
pair of symbols [ ] and then return to its
position before it started carrying out the first
instruction within [ ].)
{
Start saving the subsequent turtle positions as the vertices of a polygon to be
filled.
}
Fill the saved polygon using the current
color c,
The current color c is specified as:

rgb'

C )
A

t.

Set reel, green, and blue values of the


current color to r, ~, and b (each a
8-bit value between 0 and 31). This
allows a total of 3"2,768 colors.

We should note that in displaying the radiation


regime within a canopy, we choose a color determined by the fluxes emitted from various parts of
the canopy (see Section 3, subsection on Display
of Canopy Scattering).
The following operator was added to make the
L-system stochastic:
'a

Randomly select the value of turtle movement from a normal distribution, whose

Computer Graphics Modelfi)r Scattering 77

average value is equal to the number


specified after ? and whose three times
standard deviation is equal to the number
specified before ?. Thus 10?0 + means the
turtle turns right by an angle which is
normally distributed with a mean of 0
and standard deviation of 10/3 .
We have also added a number of operators and
conventions. They are qualitatively described below:
(1) Internal Variables and Functions: In the
standard L-system, as one increases the number of
times one applies the production rule, the size of
the final word generated by the L-system increases. This open-ended recursive scheme is desirable to generate natural fractal structures, but is
not most convenient to design finite, well-defined
3D structures. We introduced internal variables
and fimctions to allow a controlled recursive
scheme of the kind found in higher order programming languages such as FOm~RANand PASCAL.
With these features, one can have production rules
such that, as one applies them, the size of the final
word generated by the L-system decreases until it
becomes a single character. We add symbols to
define the L-system e(tuivalent of DO loops (and
nested DO loops) in F()ItTRAN. This means that one
could apply one of the specified production rules
for a specified number of times (independent of
the number of iterations chosen) if one so desires.
(2) Standard 3D Shapes: In addition to polygons, it is convenient to have a number of standard or basic shapes which can be combined to
form more complex structures. For this purpose,
we introduce symbols "(" and ")" and use words
of the form:

( . . . f . . . f . . . f ...f)
containing n f ' s to define surfaces of revolution.
The successive f ' s define a curve through 3D
space, and the surface of revolution is defined by
rotating this curve around its endpoints. This is
accomplished by generating a certain number of
polygons which approximate the surface of revolution. That one has to rotate the curve 180 around
its endpoints is indicated by the presence of
parentheses "(" and ")". For example (assuming
turtle's angular movement = 90 ),

( f^5 f&18 f&5 f )


defines a cylinder of radius 5 and length 18.

The symbols "(" and ")" and a few others


enabled us to generate a variety of standard 3D
objects (cube, cone, parallelepiped, cylinder,
sphere, etc.)
(3) Growth and Animation: We have also introduced a fiaeility for sensing and controlling the
values of various parameters involved in a 3D
structure generated by an L-system. This makes it
possible to use an L-system for simulating 3D
growth (e.g., of a corn plant), animation, and
movement of mechanical systems such as vehicle,
tanks, and robots. It also makes it possible to easily
integrate physical behavior, defined, for example,
by differential equations, into L-system based
models.
The symbol "#" is used to replace the coefficient of a turtle operator or a predicate by a value
(which could be a real number) stored in a vector
array (called wn). Thus, A31# + B corresponds to
Ax + B, where x = wn(31), the 31st element in
th.e array.
The symbol "%" is used to store the current
value of the turtle position in a matrix array vn.
Thus, if H24%K appears in the L-system definition of a structure, the 3D coordinates of the
position of the turtle after completing the command(s) specified by H will always be stored in
vn(i,24) for i = 1,2,3. This enables one to obtain
feedback regarding the behavior of an L-system
structure. For example, vn(i,24) might store the
position of the leaf of a core plant or the hand of a
robot.
By defining the wn(i)'s to be fimetions of the
vn(i,j)'s and time, one can define many complex
behavioral patterns for objects generated by L-systems.
The symbol "$" is used to override the normal
L-system definition of the turtle position. Thus in
H7$K, the starting position for the graphical interpretation of the word K is given by vn(i, 7). This
allows K to act independently of H. Thus, for n
independently moving objects A 1..... A,, one can
write
lSAI25A2...nSA,,.
We should note that the turtle drawing of an
object through the L-system leads to a natural
partitioning of the surface of the object into polygons, especially when the pair of operators { } and
( ) are used. In the model for scattering in the
optical region from an object, we characterize the

78

Goel et al.

object in terms of polygons (usually triangles and


quadrilaterals).
2.3 Illustrative Examples

y
Figure 2. A bushy plant gen-

,q

erated by a simple L-svstem


with Axiom F, and a single
production rule F
F[ + F]F[ - F]F, with 0 = 25.7,
and the number of iterations
IT =5.

That the L-systems are effective and powerfld


tools for generating a variety of structures is illustrated by Figures 2-5, where we have given a
variety of objects generated by L-systems. Note
the simplicity of the L-system fi)r a bushy plant of
Figure 2, the variety of structures of Figure 3
obtained by just changing the parameter 0 for
angular movement of the turtle, the variety of
objects of Figure 4 (a ram's horn, a maple leaf, a
tree in a wind, and a colonial house), and the
realism of the corn canopy of Figure 5.
As noted earlier, in this paper, we will focus
only on a canopy of "simulated" corn plants, consisting of nine identical plants, except that each

Figure .3. Some of the geometric patterns generated by changing 0 in the L-system with axiom: P, production rules:
A ~ F[5 + A] + F, P -~ 72A (from Gnel and Rozehnal, 1991).

IT=20

0 =II0
IT= 20

-I0

ITm20

e =125
IT= 20

-30

ITm20

0 =150
IT= 20

-72

IT=20

0 =170
IT= 20

Computer Graphics Model for Scattering 79

(a)

(c)

(b)

(d)

Figure 4. A representative selection of objects ~enerated using L-systems.

Figure ,5. A corn canopy generated by a stochastie L-system


(from Goel, Knox and Norman, 1991).

80

Goel et al.

Figure 6. A "simulated corn'"


plant generated by the extended L-system.

plant is rotated around the vertical by a randomly


chosen angle (between 0 and 360 ). Each corn
plant consists of five pairs of drooping leaves (like
a cantilever to simulate its sagging under its gravitational weight) and a tapered stem (see Fig. 6).
Each of the leaves is made of 17 polygons, while
the stem consists of 50 polygons, leading to 220
polygons per plant. The soil surface consists of
11,56 polygons, making a total of 3136 polygons for
the whole canopy.

3. COMPUTER GRAPHICS M O D E L DIANA


FOR SCATTERING AND R E F L E C T A N C E

In this section, we will present the computer


graphics based model DIANA for calculating scattering and reflectance from a canopy consisting of
3D objects of arbitrary shapes, arranged in an
arbitrary configuration. To enable the reader to
understand the model better, we first summarize
the nature of the scattering problem being addressed and the existing approaches.

3.1 Scattering Processes

The incident solar flux consists of direct (specular)


light and diffuse (approximately isotropically) light.
The fraction of diffuse light depends upon the

wavelength and the extent of cloudiness. On a


clear day, this fraction typically ranges from about
5% to 15%. When incident light hits a scattering
element in the canopy, it is either absorbed, or
specularly reflected (like the reflection from a
mirror, with the angle of reflection equal to the
angle of incidence), or specularly transmitted (that
is refracted, with the ratio of sine of the angle of
incidence to the sine of the angle of refraction
equal to the refractive index of the scatterer's
medium), or diffusely reflected or transmitted in
many directions (which is the prominant mode
from very rough surfaces). The light scattered
after the first hit with the scattering element can
either leave the canopy (and possibly reach a
viewer) or can hit another scattering element in
the canopy and get scattered again. This multiple
scattering process continues until the incident light
is either absorbed by one of the scatterers or
leaves the canopy.
The nature of the scattering and absorption
processes depends upon the wavelength of the
incident light and on the scattering element. In
this paper, since we will emphasize the scattering
and reflectance from vegetation canopies, we now
describe the wavelength dependence of scattering
from and absorption processes for vegetation elements.
In the optical region (visible and near infrared), diffnse reflectance and transmittance are
more significant than their specular counterparts
(vegetation elements behave more like rough surlaces than polished ones). For example, in the
visible region, for a typical corn leaf (Walter-Shea
et al., 1989), for a direct beam incident at a zenith
angle of 4.5, the hemispherical reflectance p is
equal to about 0.11 (and about 1.5% of it is speeularly reflected), and the hemispherical transmitt a n c e r is equal to about 0.03 (and practically no
part of it is speeularly transmitted), implying that
about 86% of the incident light is absorbed after a
single hit with a corn leaf. On the other hand, in
the near-infrared region (NIR), p is equal to about
0.42 (and about 8% of it is specularly reflected),
and r is equal to about 0.47 (with practically
nothing specularly transmitted), implying that only
about 11% of the incident light is absorbed after
the first hit with a corn leaf. The values of p for
stems are very close to those tbr leaves, but the
stems do not transmit any light (r = 0). In the
visible region, because of high absorption, first
scattering process is most important, and one need

Computer Graphics Modelfi~r Scattering 81

not consider multiple scattering. In the NIR, because of small absorption, one must consider multiple scattering, but only of diffuse radiation.
In the thermal region, hardly any radiation is
transmitted, and the hemispherical reflectance p
varies from about 0.02 to 0.12 fi)r broad-lealbd
species (Salisbury and Milton, 1988), with essentiallv all the radiation diffusely reflected.
In the microwave region, where the wavelength of the incident radiation can exceed the
surface roughness of the scatterer, the specular
reflection and specular transmission (refraction)
are more significant than their diffuse counterparts. Therefore, one must investigate the multiple
scattering of directed radiation beams. It should
be noted that, in active microwave remote sensing,
the incident radiation consists of only direct beam,
and the viewer is located at the source. Therefore,
one is only interested in calculating the baekseattered radiation.

3.2 Existing Approaches


Various approaches to model the radiation regime
in a vegetation canopy can be divided into four
categories (Goel, 1988):
(1) Geometrical Models: Here the canopy is
assumed to consist of objects of regular geometrical shapes (cylinders, spheres, cones, ellipsoids,
etc.), placed on the ground surface in a prescribed
manner. The interception of light and shadowing
by the objects, and reflectance from the ground
surface are analyzed to determine the canopy reflectance. These models adequately represent
sparse canopies (e.g., shrubs, orchards, planted
crops in their early stages of growth) where multiple scattering and mutual shading of objects (e.g.,
at low sun zenith angles) are negligible.
(2) Turbid Medium Models: Here the canopy
is approximated by small absorbing and scattering
particles of given optical properties, distributed
randomly in horizontal layers and oriented in given
directions. The canopy architecture is usually
characterized by the leaf area index (LAI) and the
leaf angle distribution (LAD). These models ignore finite dimensions of vegetation elements and
nonrandom distribution of leaves, and thus are
incapable of exhibiting phenomena such as
backscattering peak (hot spot effect) caused by the
finite size of scatterers. These models are representatives for dense and horizontally uniform
canopies.

(3) Hybrid Models: In these models, like the


geometrical models, the canopy is taken to be a
collection of objects of regular geometrical shapes,
except that like the turbid medium model, within
each object one has absorbing and scattering elements representing the vegetation elements. These
models are meant to represent canopies which are
neither sparse nor dense.
(4) Monte Carlo Simulation Models: Here, a
Monte Carlo procedure, involving selection of randora numbers, is used to determine if a given
incident photon will hit one of the vegetation
elements. If it is hit, the direction of the (diffuse)
scattered radiation is chosen again using a Monte
Carlo procedure. Effectively, one follows the intereeption and scattering of the incident beam almost
on a photon-by-photon basis. These models allow
realistic simulation of radiation regime in a canopy,
but generally require manv hours of computer
time.
All of the above models use either the classical
geometrical optics, the radiative transfer (transport) theory, or the average canopy transmittance
theory (Goel, 1988).

3.3 Computer Graphics Model


Our computer graphics model DIANA is very,
general in its application. It allows realistic simulation of radiation regime of a canopy consisting of
objects of arbitra~ shapes (with scattering properties which can va~' throughout the surfaces of
objects), arranged in an arbitrary" configuration,
and still only requires computer time (of a workstation) measured in fraction of an hour for finite
canopies to a few hours for infinite canopies.
As noted in the Introduction, this model consists of four parts: a) computer generation of the
canopy, with each object characterized by polygonal facets; b) determination of the visibility of a
facet by sun or a viewer; c) determination of
visibility of one facet surface by another one for
multiple scattering calculations; and d) display and
quantification of radiation regime in the canopy.
We have already described part (a) in the preceding section and, therefore, we now describe the
remaining three parts.
A central feature of these parts is that all the
calculations are done using the computer screen
pixel space. In the initial implementation of the
model, we used a 512482 pixel screen (representative of an ATT TARGA-16 graphics board).

82

Goel et al.

Table 1. R, G, B, a n d C Values for a R e p r e s e n t a t i v e Set


o f Colors

Color

Black
Blue
Green
Cyan
Bright Bhle
Gray
Red
Magenta
Ye] h)w
White

0
0
0
0
10
12
31
31
31
3l

0
0
31
31
10
12
0
0
31
31

0
31
0
31
31
12
0
31
0
31

0
31
992
1023
10,591
12,684
31,744
31,775
32,736
32,767

Further, the color of a pixel, which plays a key


role in identifying a polygon, is specified in terms
of 15 bits, with the rightmost 5 bits specifying the
blue component B, middle 5 bits the green component G, and the leftmost 5 bits the red component R. Thus, the color C of a pixel is given by
C = 1024 R + 3 2 x G + B,

(2)

where R, G, and B can take integer values from 0


to 31, allowing a maximum of 32,768 colors. In
Table 1 are given R, G, B, and C values for a
representative set of colors.
To obtain a 2D perspective display of a 3D
scene, one projects the scene on a computer screen
perpendicular to the line joining the center of the
screen and the viewer's location. The closer the
screen is to the viewer, the better is the 3D
perspective (distant objects look smaller). To ensure that a given scene fits on the computer screen,
we carw out the following linear transformations:

x,, = ax + b,

(3a)

y,, = cy + d,

(3b)

where x, and y, are the pixel coordinates of a


point that has x and y as its cartesian coordinates
in the image of the scene being projected on the
screen and a, b, c, and d are constants chosen
such that the center of the scene coincides with
the center of the screen and the scene fits within
the computer screen. Note that since pixel coordinates are integers, the values calculated from Eqs.
(3a) and (3b) are rounded to the nearest integers.
It should be mentioned that since the computer
screen is not a square, a correct rendering of an
object requires that a and c be different from
each other, generally by the aspect ratio of the
graphics board.

We now describe those parts of the model


where radiation regime in the canopy is calculated
and displayed.
(3.3.1) Visibility of a Facet by the Sun or the
Sensor: In the field of compute graphics, one of
the tasks is to recognize parts of a scene that are
behind other parts, and, therefore, are not seen by
a viewer and should not be drawn on the computer screen. One way this task is accomplished is
through the so-called depth-sorting method. Here,
one first divides the object into a number of small
planar polygons (usually triangles), sorts them out
according to the distances of their eentroids from
the viewer, and then draws the polygons on the
screen starting with the polygon which is farthest
away from the viewer to the polygon which is
closest to the viewer. If a polygon is hidden from
the viewer because of other polygons, in the final
image on the screen, hidden polygon will be overdrawn by these other polygons.
We number the polygons as 1,2 .... , n,, where
n , is the total number of polygons constituting the
canopy. To determine if a given polygon is sunlit,
we use the above approach with the sun being the
viewer, and then draw the polygons on the screen,
starting with the polygon which is farthest from
the sun. In drawing a polygon, we use the color
equal to the index i, of the polygon. In the final
image on the screen, the fraction of the screen
occupied by a color i, then gives the fraction of
the polygon of index i, visible by the sun (i.e.,
sunlit). If one repeats the same procedure with the
sensor for reflected/scattered radiation as the
viewer, one gets the fraction of a polygon visible
by the sensor, needed to determine the amount of
scattered/reflected radiation from the polygon
reaching the sensor.
Each polygon has two facets. The facet toward
the sun (here the angle between the normal to the
facet and the sun direction ~ 90 ) will have emittance which will be proportional to the amount of
flux incident on the polygon times the reflectance
of the polygon. The dark-side fiacet, on the other
hand, will have emittance proportional to the
product of flux incident on the polygon times the
transmittance of the polygon.
(3.3.2) Multiple Scattering and the Visibility of
a Facet by Another Facet: Inclusion of the multiple scattering is one of the hardest chores in
developing any model for radiation regime in a
canopy. In the present model, we assume that

Computer Graphics Model fi~r Scatterin~ 83

when the incident sun light hits one of the {hcets,


the specnlarly reflected light does not undergo
multiple scattering (an assumption generally not
valid in the microwave region; see also Section 5).
Therefore, we include only diffuse scattering. Further, we assume that the suri<ace is a perfect
Lambertian surface, with diffuse scattered light
distributed isotropieally.
We investigate the multiple scattering of diffilse scattered light by using the concept of radiosity, which is the amount of total energy leaving a
surfhee per unit time per unit area (flux density).
This is an old concept in thermal engineering and
has been used for studying radiative exchange
between two sur|hces (Hottel and Sarofim, 1967).
More recently, the concept was revived in the
computer graphics literature by Goral et al. (1984;
see also Cohen et al., 1986, 1988; Greenberg et al.,
1986; Greenberg, 1989) for rendering images in
the presence of diffuse incident light such as that
fom~d in a room. Its use for studying radiation
regime in a vegetation canopy was first proposed
by Norman and Goel (1988), and independently
by Gerstl and Borel (1990). Let us summarize the
basic radiosity analysis.
To perform this analysis, the scene is divided
into discrete surface areas (theets), with constant
radiosity across each facet. Let A~ be the area of
ith t:acet, and B i its radiosity. Let us first assume
that no radiation is transmitted from any surt~aee
(which is the case lbr thermal radiation). Let E i
be the flux density emitted from ith facet. The
conservation of energy requires that
N

E,A, + ,, g 8jA F,,,

(4)

and when this sum is multiplied by p~, one gets


the amount of this flux (from all other facets) that
is reflected from t:aeet i. If the surl:aees are truly
Lambertian and the radiosity is constant across
a i:aeet, there exists a reciprocity relationship
(Sparrow and Cess, 1970, p. 79):

= A,6,.

(5)

Dividing Eq. (4) by Ai and using Eq. (5), one


obtains
N

B, = E, + p,

E
.i-

t3jF, .

When one has a suriace which transmits as well as


reflects, which is the case for leaves, the above
equation is modified to the equation
N

R, = E, + 0, E
j-I

(7)

k= I

where r~ is the transmittance (fraction of incident


light which is transmitted through the surface) of
the ith t~aeet and Tu is the view factor between
the backside of ith t~acet and the kth facet (see
Fig. 7).
The effect of specular reflectance of surfaces
can in principle be accommodated by superimposing a single-scatter specular reflectance model on
the radiosity solution. However, its practical implementation is not totally trivial (Shao et al.,
1988; Immel et al., 1986; Rushmeier and Torrance,
1990).
The computations inw)lved in the radiosity
algorithm, as used in computer graphics, consist of
four parts: a) computation of the form factors Fij,

j = 1

where N is the number of facets, Eii is the fraction of flux leaving facet j and reaching tZaeet i,
and Pi is the fraction of an incident flux reflected
by theet i (reflectance). ~i is referred to by n]any
nan]es including configuration factor, angle factor, view factor, and form factor between facets j
and i. In this equation, the term BiA i on the
left-hand side is the flux leaving iZaeet i. The first
term EiA i on the right-hand side represents the
flux emitted by iZaeet i. In the second term, the
term BjAj represents the flux leaving iZaeet j,
which when multiplied by F2i gives its fraction
reaching facet i. Summing over all the ~aeets gives
the radiation reaching i~aeet i from all other tZaeets,

(6)

Fi,~ure

7. C o n t r i b u t i o n of flux
to surface i fiom n e i g h b o r i n g
surfhees j and k, f~om the front
and back sides.

t ,tilG:

84 Goel et al.

b) calculation of emittances E i, c) solving the


radiosity (matrix) equation (7), and d) displaying
the results. Part a) is the most computationally
intensive, requiring tens of hours of computer
time on a typical workstation. We have now succeeded in developing a method which allows the
calculations of view factors in minutes of computer
time rather than hours. We now describe this
method.
(A) Calculation of View Factors. The view
factors ffij from t:acet i to facet ,j is given by
(Hottel and Sarofim, 1967)
Ai

[[
=

cos O~cos Oj d A i d A

,,

i
,

/,/

'~i
Area A i

//
,/

"J

i): i/il----t.I

II ",,

(8)
dAj

AiAj

dAiCos

0 i

. CosOj

r2

where d A i (dAj) is a surface area element of facet


i (j), r is the distance between the centers of the
surface elements d A i and d A j , 0 i (0j) is the angle
between the normal to the element d A i (dA/) and
the line joining the centers of the two surface
elements, and the integrals are over the areas of
the two facets (see Fig. 8).
For simple cases such as of planar and circular
facets, the integral in Eq. (8) can be analytical
evaluated. For example, for two squares, each of
unit areas, parallel to each other and separated hv
a unit distance, Fij is approximately equal to 0.2
(exact value = 0.1998249). The view factor is about
the same (exact value = 0.2000438) when the two
squares are perpendicular to each other and with a
common edge (forming a corner). However, for
i<acets of arbitrary shapes, either one generally has
to resort to numerical integration or use a geometric analog for the integral, for example, one proposed by Nusselt in 1928 (Hottel and Sarofim,
1967), and then use either photography or
planimetry. Nusselt's method, also known as unit
Figure 8. View facto," b e t w e e n two ICacets.

Area A j

Figure 9. Unit sphere or Nusselt's representation of the


view (actor.

sphere method, is shown in Figure 9. ][]ere one


projects tile area Ai onto the sm'face of a unit
hemisphere centered at the element dAj of timer
j. The projection of an area element d A i is equal
to an element of a solid angle:
d[),, i = ,:tA i cos 0 i / r - ' .

(9)

This projected area on the surface of the hemisphere is again projected on the base of the hemisphere. This projection is equal to d f ~ i c o s O j,
which is equal to tim integrand in E(I. (8) up to a
factor of 7r and d A j . Repeating the double projection procedure for all area elements of the fimet i,
one sees that the form fitctor is equivalent to the
fraction of the circle (the base of the hemisphere)
covered hy projecting the area A i onto the henrisphere and then orthogonally down onto the
circle.
Cohen and Greenberg (1985) introduced a
so-called "hemicnhe" method [br evaluating the
integral in Eq. (8). Instead of projecting onto a
sphere, an imaginary cube is constructed around
the center of the facet j, with its normal coinciding with the positive z axis, and the hemisphere is
replaced by the upper half of the surface of the
cube (and hence the name hemicube). The
hemicube is then divided into an orthogonal grid
of pixels of any desired resolution. Even with this
approximation, the calculation of the view factors
is computer intensive.
Our method for calculating the view factors is
surprisingly quite simple and computationally
more efficient than the conventional approaches. It

Computer Graphics Model figr Scattering 85

is discussed in detail in Appendix A. Here we


summarize it qualitatively.
We observe that the view factor for a pair of
facets i and j can be computed by the following
algorithm:
1. Divide the 4:r solid angle of the unit
sphere around a point on facet i into a
prespeeified number N~ of segments of
identical solid angles.
"2. For each of these segments, do:
(a) For each of these segments, take the
vector d from the origin of the
sphere through the center of the
solid angle segment as the direction vector for that solid angle segment.
(b) Project facets i and j onto the plane
perpendicular to the direction
vector d.
(c) Find common area (overlap) of the two
facets in terms of pixels.
3. Sum all common areas obtained in (c) for
all ~ segments.
4. The resulting sum is proportional to the
view factor between facets i and j.
When more than two surfaces are inw)lved,
one has to take into account occlusion by other
surfaces which may lie between the facets i, j.
It is the case of large number of polygons,
however, when our technique is most efficient.
Instead of calculating view factors separately for
each pair (i.e., by going through all N~ directions
again and again for each pair of facets), we go
through every direction vector d only once, computing view factor contributions for all pairs of
facets which overlap when projected in that direction. This can be accomplished in a relative simple
manner by performing (for each of the N,. directions) the standard painter's algorithm (Mortenson, 1989, p. 100) used in computer graphics for
hidden surface removal:
1. Sort all polygons according to their distances to the projection plane perpendicular to the direction vector d.
2. Draw projections of all polygons on the
projection plane in the sorted order (by
assuming that there is a viewer at the end
of the direction vector d).
The polygons are drawn on the plane not to see a
picture but to find common areas (overlaps) be-

tween polygons (which constitute the view factor


contributions sought). To accomplish that, we have
to

(i) draw each polygon in a separate color so


that we can later identi~' the polygon from
the color found on the projection screen,
and
(ii) identify the view factor contribution for
each polygon during the drawing process
(once the polygon is drawn, view factor
contributions between this polygon and
those drawn earlier are lost). Note that
because of (i) we are able to determine the
common areas of projections of the given
polygon with those drawn earlier.
The above procedure is schematically shown in
Figure 10 for three (triangular) polygons. In Figure 10a are shown three triangles with their sorted
order relative to the given direction vector d
(different shadings are meant to replace their colors). Now let us consider the way they will be
drawn by the painter's algorithm. Referring to
Figure 10b, after triangle 1 has been drawn, triangle "2 is drawn (the dotted boundary, indicates the
process of triangle being drawn) and common area
between them is counted as the contribution to
the view factor between triangle 1 and triangle 2.
Now referring to Figure 10c, after triangle 2 has
been drawn, triangle 3 is drawn and common
areas between triangle 3 and triangle "2, and triangle 3 and triangle 1 contribute to their corresponding view factors. [The final outcome can be seen
again in Fig. 10(c), order 1, '2 and 3.]
Here, for the sake of simplicity, we did not
distinguish between a polygon and a facet. In
reality, however, each polygon has two facets, one
on each side. View factors are then computed for
facets, not polygons. Mso, it is only necessary to
take half of the N, directions, because the overlaps
for a direction and its opposite direction are the
same.
As noted above detailed description of the
complete algorithm is given in Appendix A. In that
appendix, we have also calculated the view factors
for a few cases where one can make such calculations exactly through analytical means. We have
shown that the computer graphics method described above gives results which are quite good
when one divides the sphere into 200 solid angle
segments. This accuracy increases further when

86

Goel et al.

the number of directions is increased to say 800


and tile size of the computer screen is doul)led (in
terms of pixels) in both x and !/ directions to
1024964 pixels. We should note that the accuracy of the method decreases with tile increase in
distance between the facets hecause of the approximation of the 47r solid angle into discrete segments. However, for large distances the view factor can any way be neglected in most practical
situations.
(B) Calculation of Emittanees. We will now
derive expressions for emittances g i fi'onl various
facets when the canopy is lit with solar direct and
diffuse radiation. Let r, be the total (direct and
diffuse) flux density incident on the canopy crossing a horizontal surface. This quantity is about
450 W m 2 on a typical clear day. Let r.,. and r a
be the flux densities for direct beam (specular) sun
light and diffuse skylight, respectively, and let skyl
be the ratio of diffuse skylight flux to the total
solar flux. Thus

ta)

r t =

F s -[- F d ,

skyl = r a / r,,
= (1-skyl)r,,

(m)

r,t = skyl" r,.


I

j,J

(b)

Without loss of generality, we set incident total


flux density r t = 1.
If 0.~ is the sun zenith angle, then r / c o s ( 0 , )
is the direct flux density perpendicular to the
direction of the sun. This flux density has to be
intercepted by a polygon. The probability of this
interception is proportional to the product of cos
(angle between normal n i "to the polygon and sun
direction s a) and the fraction of area, a(i,d), of
polygon i, which is lit by the direct beam. This
fractional area is calculated as discussed in subsection (3.3.1). Thus average flux density, F,(i) on the
polygon i due to direct solar beam is given by
E,.(i) = [r,./cos(O~)]ln,'sala(i,d).

I
xl

(c)

Figure 10. Schematics of calculations of view factors between three triangular facets (see text for details).

(11)

Let f,~..... be the fraction of direct solar flux which


will be specnlarly reflected. Therefi)re, the fraction
( 1 - fw,.(,) will be diffusely scattered.
To determine the average flux density due to
the diffuse skylight, we make the usual assumption
that the incident diffuse skylight is isotropic. We
divide the incident hemisphere into a finite number N,./2 of directions. The intensity in any given
solar direction is r ( t / r r . Let the sun direction for

Computer Graphics Model for Scattering 87

kth solid angle segment be s t. Recall that for


isotropic flux, the flux in any solid angle is the
product of intensity in the direction characterizing
the solid angle times the solid angle. Like the
specular direct flux, this flux has to be intercepted
by polygon i. Adding the intercepted flux for all
solid angles will give the diffuse incident flux
Fa(i) intercepted by the polygon i. Since we have
divided the hemisphere into equal solid angles,
Fa(i) is

where B and E are vectors,


E 1

B2
B ~

E=

(15)

and A is an N N matrix,
1

~lFl2

. . . .

~IF1 N

A=

F,z(i)= ~_, [ r a / r r ] ( 4 r r / N ~ ) l n ~ ' s k l a ( i , k ) .


all N,

"

(12)

From Eqs. ( l l ) and (12), the emittance of surface


K (the number of such surfaces will be equal to 2
times the number of polygons) for use in the
radiosity equation (7) will be equal to

EK=(1--Lp,~,.)F,(i)#K

5,(i)~.,
K = 1 ..... 2n~,,
+

(13)

where ~K = Pi, the reflectance of the ith polygon


if surface K is on the sun side, and SCK= ri, the
transmittance of the ith polygon if it is on the dark
side (see Fig. 11). For leaves where f,p~.,. << 1,
the solutions simplify. In this paper we will set
f,p,, = 0.
(C) Solving the Radiosity Equation. In our
case, we have np, polygons, each with two facets,
with a total of 2np facets. For convenience, we
index two fiacets of polygon i as i and i + n v' Let
N = 2np. Equation (7) can be written as a matrix
equation
AB =

E,

(14)

(16)
and ~:i is equal to either Pi or r i depending upon
whether the flux from another surface arrives on
the surface i or on the surface i + np.
The matrix equation (14) can be solved using
one of the many standard methods for solving a
large number of linear algebraic equations. However, for radiosity equations, due to the physics of
the situation, an iterative approach is most suitable. For this purpose, let us rewrite Eq. (14) as

(17)

B=CB+E,

where C is an N X N matrix,
0

~iF12

~lilN),

(18)

C=
/;NFNI

~U FN2

"""

Equation (17) can be written as


N

Bi = ~

CikB k + E i,

i = 1,...,N.

(19)

k=l

Figure 11. Emittanees of sun side and dark

side surlhees.

~[ sunlight

,\!

"-. \ \ I / /
" " - ::.'.,\ L :.'.---"

.,.

.~...5s.'...'~....
~* ,,o~ o-.o
ooo /
|
"Oo
-..oo

....

7".

Fd (i)

In the iterative process, one starts with an initial


guess for the unknown quantities, the radiosities
Bk, substitutes that guess on the right-hand side of
Eq. (19), and calculates the new radiosities. These
new values are then substituted in the right-hand
side of Eq. (19) to obtain another set of values.
This iterative procedure, in which during each
iteration each radiosity is solved for by using the
previously found values of other radiosities, is
continued until no radiosity value changes by more
than a preselected small amount or a small percentage.
Among the many iterative procedures, the
Gauss-Seidel method (Hornbeck, 1975) is most
appropriate for the radiosity equation. Since

88 Goel et al.

F_,.jFij ~< 1 and (Pi + ri) <~1, the matrix is diagonally dominant (the sum of the absolute values of
each row is less than the main diagonal term). For
such matrices, Gauss-Seidel method is guaranteed
to converge. In this method, the key equation
which relates the values of radiosities in (r + 1)th
iteration to those in the rth iteration is
i-I

B (,+')
i

~ Cil,.B~,+l'+

y'

~V a i k n(")~t~'k
- - Ei"

k=i+l

(e0)
Since B~ > E~, in the absence of any other intbrmation, a convenient initial guess for B~ is E~. In
our experience, with this guess, we generally
needed less than 10 iterations to satis~, the convergence criterion
IBI '+ ' ) - BI~)I ~< 10 -(s.

(21)

We should point out that a change in the


wavelength of the incident radiation impacts our
model only through changes in the values of reflectance anti transmittance of polygons (vegetation elements) and the view factors F o remain
unchanged. Therefore, a study of the scattering/
reflectance from the canopy as a function of wavelength involves only solving radiosity equation (7)
for different values of p's and r's, with E's as
calculated using Eq. (13).
(D) Display of Canopy Scattering. We display
the scattering/reflectance from the canopy in basically two different ways: 1) computer graphics
display of the canopy in colors which indicate the
extent of scattering and 2) canopy bidirectional
reflectance factor (BRF) and albedo, two quantities commonly used in the literature on the canopy
reflectance models of vegetation canopies (Asrar,
1989).
In the computer graphics display, we first
normalize the calculated radiosities such that the
maximum value of BK is equal to 1. That is, we
divide each B K by the maximum of B K over all
K's. Now, for the TARGA-16 board, maximum
intensity for any color is equal to 31. We compute
each color component (R, G, and B) of facet K
using an intensity equal to 31 times the normalized values of radiosities B f s for each color. This
way, the polygon with the highest value of BK will
be most intense while that with the lowest value
will be dullest. Also, we can display the canopy for
various viewing directions (zenith and azimuth

angles) and for this purpose we make use of the


calculations of subsection (3.3.1) on the visibility
of a facet by a viewer. By changing the position of
the viewer in a gradual way, and by video recording the displayed image, we can make a vide() tape
showing canopy as will be seen bv a viewer as he
moves around the canopy.
We will now give expressions for BRF and
albedo in terms of radiosity. For a diffusely scattered radiation from a facet K, as characterized lay
its radiosity B K, the intensity in any viewing direction is equal to B K / r r . Theretore, the radiance
from this facet in the direction of viewer with unit
vector s,. is given by

(BK/~r)lnK's,.la(K,,:)area(K),

(22)

where n K is the unit normal vector to the facet K


of area area(K) and a(K, v) is the fi'action of this
area visible to the viewer. Adding the above radiances for all 2n~, facets gives the total difluse
radiance seen by the viewer. The BBF of a canopy
is the ratio of radiance from the canopy to the
radiance from an ideal diffuse reflector. Therefore,
the BRF of the canopy in a viewing direction c
(with viewer located at infinite distance from the
canopy), due to diffuse scattering only, is given by

( B~: / 7r)ln K s,la( K, t;) area(K)


BRF(t~) =

( 1 / r r ) l n K s, la(K, t', )area(K)


K

(23)
The albedo of the canopy is a measure of the total
canopy reflectance in all directions. Note that the
flux in a viewing direction is equal to the radiance
in that direction, projected perpendicular to the
viewing direction, times the solid angle segment.
Therefore, albedo is given by
Albedo = ( 1 / r r ) Y~. BRF(v)(4rr/N~)cos 0,,

(24)

where 0~: is the view zenith angle.


3.4 Computer Implementation of the Model

We now briefly describe the computer implementation of the model, currently on a SUN 4/370
workstation, equipped with a 32 MB RAM. This
computer has a nominal computational speed of 16
MIPS, 2.66 MFLOPS in double precision, and 3.6
MFLOPS in single precision. To ensure that the
model is not machine-dependent, the model is

Computer Graphics Model fi~r Scattering 89

implemented in VOnTnAN-77 (with the exception of


a few file handling routines and a few system's call
routines, which are implemented in C language),
without using any prepackaged graphics routines.
The present form of the computer program should
run on any computer with 20MB of RAM and
40MB of hard disk space, for canopies such as the
corn canopy discussed in this paper. The model
consists of the following modules:
Module A generates the structure/object (and
its canopy) whose scattering properties one wishes
to study, using the extended L-system approach. It
divides the object into polygons and then calculates their areas and normals associated with them.
For each facet, it computes the incident flux density F,, [see Eq. (12)] due to incident diffuse flux,
and the view factors with other facets. The latter
calculations are done as follows: For each of the
directions in which the incident hemisphere is
divided, all the polygons are sorted with respect to
the sun position, are then projected with respect
to that direction, and drawn one by one on the
computer screen starting from that which is farthest from the sun. During the process of drawing
the polygons, the overlaps between a polygon being drawn and all others which are already on the
screen are calculated. These overlaps (in terms of
pixels) are proportional to the view factors. As a
matter of efficiency, as soon as the sparsity of the
array holding the view factors reaches 7.5%, the
array is stored on the hard disk, and then cleared.
In this manner, one obtains a set of files (tables)
consisting of parts of the view factor matrix, with
the number of files dependent upon the nature
and complexity of the canopy. Thus the calculations in this module A depend only on the geometrical structure of the canopy, and are independent
of the solar direction and spectral properties of the
canopy components. We should note that here we
use the concept of hash tables for efficient storage
and retrieval of overlap data (see Appendix A).
Module B reads the files consisting of information about view factors generated by module A
and merges them into the view factor array. Note
that we use this approach of splitting the program
into two modules to minimize the requirement for
the RAM of the computer; some variables in module A requiring a significant amount of RAM are
not used in module B and vice-versa.
Module C is like module A except that it
calculates the flux E~. incident on various facets for

the direct part of the incident solar radiation,


using Eq. (11). This module obviously depends
upon the solar direction.
Module D reads out a) all the information
generated by modules A - C about the flux (direct
and diffuse) incident on various facets and the
view factors between facets and b) spectral properties (reflectance and transmittance) of canopy
elements (leaves, stem, soil etc.), the fraction of
diffuse incident radiation, skyl, and the convergence criterion parameter [see Eq. (21)] for solving the radiosity equation, and then solves the
radiosity equation to give radiosity of each facet.
Module E is similar to the module A. It uses
the radiosities calculated to render images of the
canopy for a specified set of viewing directions,
with intensity and coh)r of a facet proportional to
the radiosity of that facet. It also gives BRF (for
those specified directions) and the albedo for the
canopy.
In the next section, we give illustrative results
for the canopy consisting of nine simulated corn
plants.

4. S P E C I F I C R E S U L T S - - S I M U L A T E D
CORN CANOPY

This canopy consists of nine simulated corn plants


arranged in a rectangular grid. These plants are
identical to each other except that each of them is
rotated around the vertical by a randomly chosen
angle (between 0 and 360 ). To simulate the
corn canopies with different densities and row
structures, we change the distances between vari()us plants in x and y directions (x and y directions, respectively, correspond to the azimuth angles of 0 and 90 ). For illustrative purposes, we
choose three configurations schematically shown
in Figure 12 and described beh)w.
In the configuration A, the distance between
two plants in the x and y directions is 3.5 times
the width of a plant (i.e., the size of the square
which will encompass the projection of the plant
on the soil surface). Note that if the distance is
equal to the width of a plant, two neighboring
plants just touch each other. This canopy is meant
to emulate a mature sparse canopy. In the configuration B, the distance between two plants in the
x direction is 2.38 times the width of a plant while
the distance in the y direction is equal to the

90 Goel et al.

3.5a

-,ql--a~

UI

Configuration A, sparse canopy

(a)
2.38 a

Configuration B, row canopy.

(b)
a

- ' 4 - 0.8 a--~,-

~o

c5

Configuration C, dense canopy


(c)
Figure 12. Distances between corn plants, LAI and %GC
values for three canopy configurations investigated in this
article: (a) mature sparse canopy (LAI = 0.18, %GC = 26.5);
(b) mature canopy with row structure (LAI = 0.83, %GC =
40.0); (c) mature dense canopy with no row structure
(LAI = 3.11, %GC = 85.0).

width (the plants t o u c h e a c h other). This configuration is designed to simulate a mature canopy
with row structure. Finally, in the configuration C,
the spacing between two plants in both the x and
y directions is 0.8 times the width of a plant, with
plants touching each other in both directions. This
canopy is meant to emulate a mature dense canopy
with no row structure.
For all configurations, we calculate three parameters to describe the canopy architecture. The
leaf area index LAI is calculated by simply summing the areas of leaf polygons and dividing the
sum by the area of soil under a plant. The second
parameter is the percentage ground cover %GC,
which is simply the ratio of the projected area of
the plant on the soil to the area of the soil. This
parameter has been used to characterize sparse
canopies (Goel and Grier, 1988); for fully grown
canopies, the percent gronnd cover approaches
100%. The values of these parameters for the three
canopy configurations are: A) LAI = 0 . 1 8 and
%GC = 26.5; B) LAI = 0.83 and %GC = 40.0; and
C) LAI = 3.11 and %GC = 85.0.
The third parameter is similar to the traditional leaf inclination angle distritmtion. It is the
facet inclination angle distribution FAD, determined by calculating the area of each of the facets
and the direction of the normal to the facet, and
then by generating a histogram of the areaweighted inclination angles of the normals (we
divide the inclination angles into 10 bins of angles,
each 9 wide around the values of 4.5 ,
13.5 , .... 85.5 ). The FAD distribution fi)r all the
three configurations is given below.
Facet angle: 4.5 13.5 22.5 31.5 40.5
49.5 58.5 67.5 76.5 85.5.
Fractions: .040 .063 .103 .068 .067
.121 .071 .130 .169 .167.
For this distribution, the mean t:aeet inclination
angle is equal to 49.8 .
For each of these configurations, we investigated radiation regime in both visible and near
in{}ared regions. The finite canopy, with soil under
it, is located in a perfectly transmitting space. The
vahles of the spectral parameters for the vegetation elements and the soil, and those that characterize the nature of the incident solar radiation are
given in Table 2. The spectral parameters correspond to those measured by Ranson et al. (1985).

Computer Graphics Modelfor Scattering 91


Table 2. Spectral Parameters fi)r the Vegetation Elements
and Soil, and Parameters Specifying the Incident
Solar Radiation"

Parameter
I~ca|~stem r('flcctanc("
l~('af transmittanc('
Stem transmittan('c
Soil reflectance
Skyl

Visible

Near Infrared

0.08
0.05
0.0
0.69
0.2

0.39
0.60
0.0
0.17
0.1:3

"Sml z(,nith ankle = 44.9 and sma azimuth angh' = 135.0

Table 3a. Computer Times (s), for Various Modules,


for Calculating Radiation Regime in Visible and Near
Infrared Regions, BRF, and Albedo fi)r Finite Corn Canopies
in Three Configurations A, B, and C

Configuration A Configuration B Configuration C


Module
A

B
(~
I)
E
Total

For each of the three configurations, we considered two cases: one of a finite canopy consisting
of only nine plants, and the other one an infinite
canopy. The radiation regime of an infinite canopy
was not studied by simply duplicating the finite
canopy many times over the 2D space, thus increasing the number of polygons by the number of
duplications. Instead, we used an innovative approach, described in Appendix B.
As we noted in the preceding section, our
model requires dividing the solid angle sphere
into a finite number N, of solid angle segments. As
the number of segments increases, the accuracy of
calculations of view factors and bidirectional reflectance increases, of course, at the expense of
computer time. To determine the effect of increasing the number of segments, we studied canopy of
configuration C for 200 segments and for 400
segments. Another factor which increases the accuracy is the pixel size of the computer screen,
because it increases the area of a polygon in the
pixel space. Here, we chose 512 482 and 1024
964 as two sizes for the computer screen. We will
refer to these two choices as low resolution and
high resolution modes, respectively. We carried
out the calculation of radiation regime in the
canopy for finite and infinite canopies, for 200 and
400 segments, and fi)r the two resolution mentioned above. The maximum value of the view
zenith angle depends upon the number of segments chosen. For the cases of 200, 400, and 600
segments, the maximum view zenith angles are
equal to 83.06 , 84.96 , and 85.88 , respectively.
In Table 3 are given the results for the finite
canopy, and in Table 4 for the infinite canopy. In
each of these tables, we have given the computer
time for the five modules of the computer implementation of DIANA, described in previous subsection on Computer Implementation of the Model.

Min BRF
Max BRF
All)edo

Visible
188
14
17
79
176
474
.0426
.0613
.0567

NIR

Visible

93
175

208
2l
15
11)7
i77

268
.1209
.1769
,1345

NIR

125
173

Visible

NIR

303
34
19
130
202

166
202

528

298

688

368

.0268
.0520
.04 t I

.1380
.2406
.1759

.0187
.0468
.0322

.1855
.2837
.2273

Notes: The computer times are in seconds tor a SUN 4/370


workstation alluded to in subsection 3.4. The solid angle sphere is
divided into 200 directions and the pixel size of the computer screen
is 512 482.

Table 3b. As Table 3a except that the Solid Angle Sphere


Is Divicled into 400 Directions

Configuration A Configuration B Configuration C


Module
A

B
C
D
E
Total
Min BRF
Max BRF
AI1)edo

Visible
;361
24
i8
106
297

NIR

11;3
298

806

411

.0401
.0615
,0565

.1211
.1877
,1341

Visible
:195
;19
I5
134
305
883
.0253
.0528
.0410

NIR

159
;318

Visible
596
60
21
176
377

N1R

252
368

477

1230

620

.1383
.2454
.1754

.0181
.0473
.0320

.1846
.2855
.2261

Table 3e. As Table 3a except that the Pixel Size of


the Conlputer Sereen Is 1024 964

Configuration A Configuration B Configuration C


Module
A

B
C
D
E

Total
Min BRF
Max BRF
Albedo

Visible
393
20
27
100
349

NIR

106
312

889

418

.0455
.0627
.0585

.1252
.1872
.1398

Visible
445
27
24
112
326
934
.0281
.0539
.0429

NIR

135
314
469
.1436
.2499
.1825

Visible
777
38
28
136
400

NIR

176
384

1379

560

.0191
.0479
.0331

.1901
.2902
.2337

92

Goel et al.

Table 4d.

Table 3d.

As T a b l e 3b except that the Pixel Size of


the Computer Screen Is 1024 x 964

Module
A

B
C
D
E

Total
Min BRF
Max BRF
Albedo

Table 4a.

Configuration A Configuration B Configuration C

Configuration A Configuration B Configuration C


Visible NIR Visible NIR Visible NIR
747
34
26
121
622

144
612

894
48
28
144
624

1505

756

.0428
.0630
.0584

.1257
.1994
.1394

185
626

1522
68
28
188
747

276
791

1738.

811

2553

1067

.0265
.0545
.0428

.1445
.2570
.1820

.0185
.0485
.//3311

.1899
.2920
.2324

As T a b l e 3a e x c e p t ~br an Infinite Canopy

Configuration A Configuration B Configuration C


Module
A
B
C
11
E

Total
Min BRF
Max BRF
Albedo

Table 4b.

Module
A

Visible
543
20
22
92
365

Module

NIR

214
414

Visible
967
71
26
218
479

NIR

434
483

468

1271

628

1761

917

.1199
.2050
.1363

.0229
.0422
.0313

.1368
.3483
.2070

.0223
.0387
.0269

.2769
.4257
.3258

As T a b l e 3b except fi)r an Infinite C a n o p y

Configuration A Configuration B Configuration C


Visible NIR Visible NIR Visible NIR

Total

Table 4c.

630
44
21
159
417

1042

C
D
E

Min BRF
Max BRF
Albedo

114
354

Visible

.0346
.0596
.0546

1082
37
23
139
705

NIR

166
707

1298
89
29
249
851

1986

873

.0292
.0600
.0544

.1203
.2280
.1362

391
854

1970
17(/
29
390
959

761
953

2516

1245

3518

1714

.0224
.0449
.0312

.1385
.3680
.2067

.0223
.I1397
.0268

.2769
.4491
.3244

As T a b l e 3c except for an Infinite Canopy

Configuration A Configuration B Configuration C


Visible NIR Visible NIR Visible NIR

A
B
C
D
E

1055
32
36
124
877

145
876

1430
61
40
197
1119

Total

2124

1021

Min BRF
Max BRF
Albedo

.0392
.0615
.0570

.1261
.2213
.1439

As T a b l e 3c e x c e p t for an Infinite Canopy

285
1128

2695
89
48
256
1385

530
1384

2847

1403

4473

1914

.0238
.0446
.0335

.1487
.3779
.2228

.0226
.0399
.0276

.2957
.4538
.3489

Module
A
B
C
11
E

Visible
2265
60
:39
189
1872

NIR

Visible

239
1881

3430
136
46
351
2620

NIR

Visible

NIR

54l
2696

6802
220
54
490
3593

962
3026

Total

4425

21211

6583

3237

1 1159

3988

Min BRF
Max BRF
Albedo

.0338
.0618
.0568

.1267
.2495
.1438

.t1237
.0472
.0334

.1514
.3913
.2225

.0225
,0401
.0276

.2957
.4752
.3474

Note that if one changes only the wavelength [e.g.,


if one goes from the visible region to the near
infrared region (NIR)], one needs to redo the
calculations using only modules D and E. On the
other hand, if one changes the incident sun direction, one has to redo the calculations using also
module C. Further, it should be pointed out that
in module E one carries out many of the calculations of module A. Therefore, one could reduce
the computer time by saving some of the calculations on the hard disk. In each table, we have also
given the minimum and maximum values of BRF
and the value of albedo for the canopy.
From these tables, we note that as the canopy
becomes denser, both the BRF and the albedo
decrease in the visible region, and increase in the
infrared region. This is to be expected because, in
the visible region, leaf and stem reflectances are
smaller than that for the soil, whereas the reverse
is true for the NIR.
For Table 3a, for the finite canopy, with 200
segments for the solid angle sphere and low screen
resolution, as to be expected the computer time is
lowest, ranging from about 8 min to 11.5 min,
depending on the canopy density. We consider
this time to be quite impressive, keeping in mind
the generality of the canopy structure. Comparing
Table 3a with Table 3b, and Table 3c with Table
3d, one sees that as the number of segments is
doubled to 400, the total computer time only increases by a factor of about 1.7-1.9. Comparing
Table 3a with Table 3c, and Table 3b with Table
3d, one sees that increasing the resolution level
from 512482 pixels to 1024964 causes the
total computer time to increase by a factor of
about 1.8-2.1. The effects of changing the number
of segments and the resolution level on the BRF

Computer Graphics Modelfor Scattering 93

are further shown in Figures 13a and 13b, where


we have given the polar plots of BRF for the
conditions corresponding to Tables 3a and 3d.
From these figures, comparison of detailed BRF
calculated values, and Tables 3, we conclude the
fi)llowing for the finite canopy.
(1) Recalling that we chose a solar zenith
angle of 44.9 and azimuth angle of 135 , in the
visible region, we clearly see the hot spot effect
(maximum BRF in the solar direction) for all the
three canopy configurations.
(2) In the NIR, one sees the well-known bowl
shape for the BRF surface, with the roughness of
the suri~ace decreasing as the canopy's vegetation
density increases.
(3) As one increases the number of segments
for a fixed resolution level (Table 3b vs. Table 3a
and Table 3(t vs. Table 3c), the change in the
albedo is negligible. On the other hand, as one
increases the resolution level for a fixed number of
segments (Table 3c vs. Table 3a and Table 3d vs.
Table 3b), the albedo increases, although by only a
slight amount.
(4) Increasing the number of segments and
the resolution level does have some effects on the
structural features of the BRF surface, hut they
are minor. By comparing the numerical values for
the BRF, we find that as we change the resolution
level from low to high level for the same number
of segments, the maximum change in BRF, both in
the visible region and the NIR, is about 7-8%,
with an average change of about 3-4%. A similar
results holds good, as one increases the number of
segments from 200 to 400 for a fixed resolution
level.
We will now make similar general comments
about the infinite canopy. First of all, the computer time increases by a factor of about 2.2-4.4 as
one goes from a finite canopy to the infinite canopy.
For an infinite canopy, comparing Table 4a with
Table 4b, and Table 4c with Table 4d, one sees
that as the number of segments is doubled to 400,
the total computer time increases by a factor of
about 1.9-2.5. Comparing Table 4a with Table 4c,
and Table 4b with Table 4d, one sees that as the
resolution level is increased from 512 x482 pixels
to 1024x 964, the total computer time increases
by a factor of about 2.0-3.2. In Figures 14a and
14b, where we have given the polar plots of BRF
for the conditions corresponding to Tables 4a and

4d, the effects of changing the number of segments and the resolution level on the BRF are
shown. From these figures, comparison of detailed
BRF calculated values, and Tables 4, we can conelude the following for the infinite canopy.
(1) The hot spot effect is present in the visible
region for configuration A, but is less pronounced as the vegetation density increases.
(2) In the NIR, one again sees the bowl shape for
the BRF surt~ace. Further, BRF is lowest when
one sees the soil (view azimuth angle = 0 ,
90 , 180 , and 270 for configuration A and
90 and 270 for configuration B). These dips
in the BRF su~aee have been seen experimentally (Ranson et al., 1985) and in other
models for canopy reflectance from inhomogeneous canopies (Goel and Grier, 1988).
(3) As for the finite canopy, increasing the number of segments for a fixed resolution level
(Table 4b vs. Table 4a and Table 4d vs. Table
4c), or increasing the resolution level for a
fixed number of segments (Table 4c vs. Table
4a and Table 4d vs. Table 4b), causes albedo
to change only slightly. Further, as to be expected, the albedo for the infinite canopy in
the visible region is lower than that for the
finite canopy, with maximum reduction for the
dense canopy configuration C, while the reverse is true for the NIR.
(4) As for the finite canopy, increasing the number of segments and the resolution level do
affect the structural features of the BRF surface but only slightly. As we change the resolution level from low to high level for the same
number of segments, the maximum change in
BRF, both in the visible region and the NIR,
is slightly higher (about 10-12%) than that for
the finite canopy, with an average change of
about 3-7%. A similar results holds good, as
one increases the number of segments from
200 to 400 for a fixed resolution level.
What can we conclude, from a practical point of
view, with respect to the number of segments and
the resolution level? If one wishes to calculate the
albedo, a choice of low resolution level and 200
segments is quite adequate. However, if one desires to calculate BRF to within 3-4% accuracy,
one should plan on using 400-600 segments and
the high resolution level.

(a)

Infrared

Visible

(b)

Infrared

(c)

(B)

(A)

Figure 13. (a) BRF of a finite canopy for the three configurations A, B, and C, fin" visible region and NIR, for 200 segments of the solid angle sphere and low resohltion level.
The Bt/F values have been normalized between 0 and 1. Nadir viewing direction is in the center of the plot, while viewing direction corresponding to the maximum view
zenith angle of 83.06 is the rim of the plot. The viewing azimuth angle increases in the clockwise direction, with azimuth angle of 0 and 270 at the locations indicated in
the figure. (b) As (a) except fi)r 400 segments and fi)r the high resolution level. The maximum view zenith angle is equal to 84.96 .

Visible

(c)

(B)

(A)

~isible

a)
7i~,ure 14.

Infrared

Visible

'\s Figure 13 eccpt for an infiuite canopy.

(c)

,\)

b)

nfrared

c)

B)

A)

ID

96 Goel et al.

Figure 15. A finite canopy of simulated corn


plants in configuration C (dense canopy), as seen
by a viewer with sun behind him. Note the hot
spot.

(b)
Figure 16. (Continued)

ignore the multiple scattering effects (view zenith


angle = 85 , view azimuth angle = 0 ) while in
Figure 16(!)) is shown the same canopy w h e n such
eflbets are included, using the radiositv calenlations.

In Figure 17a, we have shown a finite canopy


in configuration C and in figure 17b an infinite
canopy in the same configuration, both fi~r view
zenith angle of 64.4 and view azimuth angle of
218.7 . T h e s e figures clearly show the shadowing
Figure 17. (a) A finite dense canopy and (b) an infinite

canopy.

(a)

Figure 16. The finite canopy of Figure 15 in NIR


region, with the view zenith angle of 85 and view
azimuth angle of 0. (a) Multiple scattering effects
are ignored. (b) Multiple scattering effects are
included using the radiosity calculations.

In Figures 15 and 16 are given photographs of


the finite canopy in configuration C. In F i g u r e 15,
we have shown the canopy in the visible region,
with the sun b e h i n d the viewer. Note the prominent hot spot effect. In F i g u r e 16(a) we have
shown the canopy as seen in the N I R w h e n we

(a)

Computer Graphics Modelfor Scattering 97

(b)

Figure 17. (Continued)

cast t)y the neighboring plants on the displayed


canopy.
5. C O N C L U D I N G REMARKS
AND FUTURE D I R E C T I O N S

In this paper, we have described a general model


for calculating radiation regime in a canopy of
objects of arbitrary shapes. Because of the use of
techniques from computer graphics, the model not
only allows calculation of quantities like bidirectional reflectance and albedo, but also an easy
rendering of the canopy showing reflectances of
various elements of the canopy as seen by, a viewer
or a sensor. This paper is essentially proof-of-theconcept paper. We now describe some future activities, including possible uses/extensions of the
model.
(1) As noted in Section 3, there exist many approaches to study radiation regime in vegetation canopies. One obvious area of investigation will be to compare them with the present
approach to determine how good the (approximate) calculations of existing approaches
are.
('2) There exists a significant amount of data on
the BRFs for a variety of vegetation canopies
and for terrestrial surfaces (Deering, private
communication). In the former category, one

has corn, soybean, wheat, prairie grasslands


under various conditions of water stress, grazing pressure, management treatment and seasons of the year, boreal forest, rangeland types
dominated by sand sagebrush, ereosotebush,
various subshrubs, and semiarid grasses; ,nixed
deciduous and coniferous forests, and dry fruit
orchard. In the latter category, one has data on
surfaces like alkali flat, interdunal and loose
dune sand surfaces; desert playa lake, cobble,
and vegetated lava bed surfaces and snow and
freshwater lake ice. Another area of investigation will be to generate structures (using extended L-systems) which are representative of
these canopies and surf:aces, and then compare
the measurements with the calculated values.
(3) In the existing soil-plant-atmosphere models,
such as Cupid (Norman and Campbell, 1983),
the amount of photosynthesis is calculated by
coupling a photosynthesis model with a radiation regime model in which leaves are assumed to be randomly distributed according to
specified leaf angle distribution and leaf area
index. In DIANA, one can simulate the architecture of the plant canopy, and not only calculate the radiation absorbed by a leaf, but
also by parts (polygonal regions) of a leaf.
Another ~[hture activity is to couple this model
with a photosynthesis model and determine
the extent of inaccuracies in the calculation of
the amount of photosynthesis caused by assuming the leaves to be randomly distributed.
We suspect these inaccuracies to be substantial.
(4) One can in principle simulate the growth of a
plant using DIANA (Goel et al., 1991). For a
canopy with plants in a given development
stage, one can use soil-plant-atmosphere
models, such as Cupid, to calculate the amount
of biomass produced using leaf photosynthesis
rates as a function of light, temperature, CO 2
concentration, water availability, wind, and the
efflcieney with which the CO 2 fixed by photosynthesis gets converted into matter. One can
then use the methodology used in a dynamical
growth model [such as that by Jones and Kiniry
(1986) for corn] for describing how the biomass
will be partitioned into various elements
(leaves, stems, flowers, fruits, roots) of a plant.
The increments in biornass for various organs
will then be used to derive the L-system algo-

98

Gael et al.

rithm

for altering

the canopy
plants,

the plant

with

the new

one will

absorbed,
biomass

then

produced,

etc. to calculate
plants

carried

out in about
on the

SUN
model

have assumed
thesis

architectural

natural
regime

will continue.

Without

a/370

like

corn

code,

can be

workstation

is implemented.
on an hourly

where
Here,

that the calculation


changes

we

of photosynbasis,

will be made

and the

on a daily

of radiosity
arose out of work
radiative
transfer. Therefore,
one

use of DIANA
in the thermal

the emissivity

computer

of the complete

2 days or less of computer

will be done

basis.
(5) The concept
\vith thermal

In this
of the

of a plant

is to study radiation
region. In this region,

E of a facet will be proportional

to the fourth power of the local absolute


temperature
of the leaf at the facet. Further,
since,
in this region, transmittance
of a leaf is equal
to zero, the calculation
(6)

of radiosities

A: CALCULATION
FACTORS

radiation

of this biomass,

of the existing

season

OF VIEW

architecture

that a simulation

growth

the present

the

partitioning

and the process

we estimate

APPENDIX

of photosynthesis,

the new

any optimization

time

calculate

the amount

For
for the

architecture.

architecture

is simpler

appendix,

we

calculating

view

projections

between

As noted

describe

factors,

in

Section

dividing

number

&, of segments

tion

of these

the

there

3, the

basic

into

of identical
angle

directions,

segment.

point

project

all facets

perpendicular

and

for all pairs

of facets

projections

in terms

backside,

say i and

normal vector
with it. Since

the

canopies

of objects

of arbitrary

shapes

of pixels.

sides

i.

Each

of these

facets

has a

(ni and n,!, respectively)


associated
facets i and i are on the opposite

of the sane polygon, ni = -nit.

Let us con-

sider two facets i and j. Let s bc a point in facet i


and y a point in facet j ( j z i). Let n,(x) be the
normal to the facet i at the point s, and nj( 11) be

use

di-

common

We repeat this procedure


for all the LY, directions
and add the common
areas thus obtained.
Each polygon
i has two f&ets, frontside
and

and refraction).
If one succeeds
in such an
extension
(which will require
more computer
time), one could
scattering
from

as if

to this
find

the normal
to the facet j at the point
define a function
Z( N, I/) as fi)llo\vs:

and computer
model to investigate

\Ve

of the direction

than in the optical region.


In principle,
the model can be extended
to
inclllde multiple
specular scattering
(reflection

nrcmor)~

angles.

sort polygons

at the end

their

procedure
solid

rection,

between

mutual

by the direc-

vector,
areas

for

a prespecified

is specified

of the solid

one of these
is a viewer

directional

sphere

segments

in the center

choose

using

procedure

the surfaces.

involves
Each

the

qs,

10

us

$ n i *( y - s ) 2 0 and
nj*(s

!/) =

!I. Let

- !I) 3 0,

(Al)

otherwise.

in the

microwave
region. With the activity (5) above,
one would then have a single model which
\vill work across the three spectral
regions:

The function
will be equal to 1 for those points
(s, y) on facets that face each other, and zero for
those on the opposite
sicle. \Ve make one more

optical, thermal, and microwave.


Such a model
should be quite useful in interpreting
the remotely sensed spectral signatures
of terrestrial

observation.
Equation
(8) for the \iew factors is
only valid when there are no surf&es
between
surfaces
Ai and A,j, which fan intcrccpt
energy

objects.
version of the model, one can
(7) In the present
choose separate values for the reflectance
and
transmittance
for each of the facets. This flexibility could be used to calculate
radiation
regime (for any specific wavelength)
in stressed
or disease-damaged
leaves. Such calculation,
in principle,
can be used to detect stresses in
a plant canopy from its reflectance.
We hope
activities

to report
in future

the results
papers.

of some of the above

transmitted
from A., to A,. In the general
have to include
a visibility
function
I
V(s,

y) =
10

if the points

case, we

s. 11can

see each other,


otherwise.

(A4

With the above two observations,


the view Factor
from facet i of area Ai to facet j of area A/, which
represents
the fraction
of energy
per unit area
leaving facet i, which is incident
on the unit area

Computer Graphics Model for Scattering 99

element of facet j is defined as


Fi~ =

( l / rrAi)
[[ cos 0x cosO,,Z{

,y)V(x,y)

JJ
AiAI

dx dy ,

for vectors S which do not point into the projection), we can replace the integral over the projection Sj(x) by the integral over the unit sphere.
That is,

Iij=facosO, dxf~V,(x,S,Aj)dS,

(m)
where 0~ is the angle between the normal n i to
the facet A i and the vector (y - x), 0~j is the angle
between normal nj to the facet A j and the vector
( y - x), and r(x,y) is the length of the vector
(x - y). Let us represent the integral in Eq. (A3)
b y Ii. j. Therefore,

Fo = Ii j / rrA i .

(A4)

By fixing a point x on the surface A~, we can


rewrite the integral as

cos 0,,

/,,=f cos O, dx f
A i

Z(x, v)V(x, V)

r (x,y)

A .~

dy.

(AS)
Let us draw a unit sphere with the point x as the
center of the sphere. Let dS be the projection of
the area dy on the unit sphere along the direction
x - y. This projection is given by [see also Eq. (9)]
dS = cos 0 ! / d y / r

"2.

(A6)

where gl denotes integration over the unit sphere.


Changing the order of integration, we get

Ii,= f~J&VI(x,S, A j)cosO ,. dxdS.

(At)

Sflx)

where the term Z(x, y)V(x, y) is transformed into


the function Vm(x,S, A j) defined by
1

Vl(x, S, A j) =

if point x can see some point


on the surface A i
in the direction S,

n i S ~>

O,

and n j ' S ~ 0,
0

otherwise,
(AS)

and S/x) is the projection of the facet Aj on the


unit sphere around x. (This is actually the form
used by Nusselt for evaluating the view factor
through integration over unit sphere surrounding
an element dAi; see Section 3.)
Because Vl(X, S, A ) is zero for points on the
unit sphere which are not in the projection (i.e.,

(A10)

Let us project the area A j, the point x, and any


other surface between x and area A j on a plane
perpendicular to the direction S. Let us denote the
projected area of A.i as P s ( A ) and of point x as
Ps(x) (note that the projection of dx is equal to
cos 0 x dx). Note that if the projection of the point
x falls on the projection of the area A i and not on
the projections of other surfaces (between x and
A i), then one can see some point on the surface AJ
from point x in the direction S. Therefore, the
visibility fimction V~ can be written as

Vl(x,S,A,)=V.z(es(x),es(Ai)),

(all)

where the fimetion V2 is computed as described in


the paragraph above. Let x ' = Ps(x). Equation
(AI0) can be written as

Let S be the unit vector from the point x to the


area dS on the unit sphere. Substituting for dy
from Eq. (A6) into Eq. (AS), we get

f cosodxf,

(A9)

,i,=

f.

Ps(Ai)

where we integrate directly over the projection of


the facet A i in the direction S and through all unit
vectors S. We approximate this integral by the
summation
.~'~

ri

Iij= E ( 4 ~ ' / N , ) E V2(xi, Ps(A.j))AP,,., (A13)


k-I

i=l

where we have divided the projection Ps(Ai) into


ri elements, each of them having the same area
AP s and x i is the point in the center of the ith
element of the projection. In our case, we choose
the element A P s as one pixel. Therefore, the
summation in Eq. (A13) is equal to the overlap
between the pixels belonging to the projection
Ps(Aj) of area Aj with the projection Ps(Ai) of
area A i and not with the projections of any other
area.
In the pixel space, because of the finite size of
a pixel, a surface is not a true two-dimensional
object. Instead, it behaves like a three-dimensional

1 O0 Goel et al.
object of thickness equal to one pixel. Because of
this, while using formula (A13) for calculating
view factors, one gets contributions not only from
the surfaces but also from the edges. This effect is
negligible for surfaces which have large pixel areas (e.g., more than 200 pixels), but for small
surfaces this effect would lead to an overestimation of the view factor. One way to correct for this
effect is to calculate the summation in Eq. (A13)
by putting the visibility iactor V,2 equal to 1. In the
ideal case the summation should be equal to rr
times the area A~ [so that from Eq. (A4), Fij is
equal to 1]. But for small surfaces, this sum will
exceed the ideal value (and in the case of surface
of area equal to one pixel, which behaves like a
cube of unit pixel size, it will be twice the ideal
value). Therefore, the correct formula for Fij for
all cases is
E (47r/N,,) E
k=l

V2(xi, Ps(Aj))Aes

i-I

Ii) =

t"i

E
k-I

E aPs
i-I

(A14)
We now describe the computer implementation of
the above approach for calculating the view factors
into an algorithm. It uses the technique of hash
table, which enables an efficient storage and retrieval of elements of a sparse matrix such as that
for the view factors. In this method, one starts
with an array (table) which is much smaller than
the total number of elements in the matrix but
larger than the number of nonzero elements of the
matrix. The location where an element is stored in
this array is determined by using a hash function,
which scatters matrix elements evenly in the table.
If the location already has an element stored, a
sequential search is used to find an unoccupied
location in the table. The process of retrieval
works in a similar way in reverse in that the hash
function is nsed to find the approximate location of
the element to be retrieved, and if the element is
not there at the expected location, a sequential
search is used to find the actual location. Let us
now summarize the actual algorithm.

the location for two quantities: the pair of


indices of the facets for which we want to
calculate the view t~actor, and the numerator in
Eq. (A14) for the view factor which will be
calculated.
B. For each direction S pointing in tile upper unit
hemisphere, do the following:
1. Clear computer screen to all zeros.
2. Sort all polygons according to their distances to the projection screen perpendicular to the vector S (more precisely, use dot
product for the vector pointing to the center
of the polygon and the vector S as the
sorting key).
3. For each polygon in the sorted order, do the
following:
(a) Project all vertices of tile polygon with
respect to the viewing direction S.
(b) Determine the drawing color of the
polygon by taking the dot product of the
vector S and the normal to the polygon:
- - If the product is positive, the drawing
color c is equal to the storage index k of
the polygon (the order in which polygons are stored in the memory).
- - Otherwise, the drawing color is equal to
c = - k. Note that positive values of indices in the hash table entry corresponds to the facets associated with the
normal selected; the opposite facet has
the negative index.
(e) Draw projected polygon on the screen
on a pixel by pixel basis; however, before a pixel is drawn, examine the pixel
value p found on the location which is
about to be overwritten:
i If p is nonzero, find the current value of
the integral I u corresponding to the pair
(i,j) = (rain( - c, p), nmx( - c, p)) in the
hash table and increment it by 1. [Note
that we take the rain and max instead of
( - c, p) because both ( - c, p) and
( p , - c) contribute to the same view
factor.]
- - O v e r w r i t e the screen location with the
new color c.
C. Calculate the value of

Fij

using Eq. (A14).

Algorithm

Test Results

A. Clear the hash table to all zeros. Here, we


should note that each entry in the hash table is

To assess the accuracy of the above-described


algorithms, we used it to calculate view factors for

Computer Graphics Modelfi~r Scattering 101

the cases of two parallel plates in the middle of a


complex structure consisting of five plane layers,
with each layer consisting of 400 square tiles (see
Fig. A1). Let each side of a tile be equal to 1, and
let us also number the bottom layer as 1 and the
topmost layer as 5. The distance between layer 1
and layer 2 is chosen to be equal to 1, between
layer 2 and layer 3 eqnal to 2, between layer 3 and
layer 4 equal to 3, and finally between layer 4 and
5 equal to 4. For this configuration, we calculated
the view factors between all 2000 tZacets. We then
calculated the average view factor between a facet
in layer 1 and the corresponding tZacet right above
it in layer 2. We repeated the same procedure for
400 pairs of tiles in layers 2 and 3, layers 3 and 4,
and layers 4 and 5. To determine how the accuracy of the above algorithm in calculating the view
tZactor depends upon the number of directions N~
in which the solid angle sphere is divided and the
size of the pixel space, we repeated the calculations for three cases: 1) N~ = 200, pixel space =
512 482; 2) N~ = 400, pixel space = 1024 964;
3) N, = 800, pixel space = 1024 964. In Table A1
are given these average values, together with the
ideal values fi)r a single pair of tiles. As one can
see from this table, for about 4 min of computer
time, one can calculate quite accurate values for
view factors between 2000 polygons. This accuracy, as expected increases significantly, for the
case 3, which takes onlv about 31.4 min.

Figure AI. Test configuration fi)r view factors calculations.

Table AI. Ideal View Factors for Parallel Plates vs. Average
Calculated Values from a Multiplate Configuration (See
Text for Details)
Distance
d

Ideal
Value

I
2
3
4

.199825
.068590
.032971
.019107

CPU time (s)

Calculated Average View Factors'


Case 1
Case 2
Case 3
.211585
.082190
.047610
.03'2170

.206749
.075809
.039945
.023988

.204126
.071463
.035743
.020822

230

981

1882

Notes: Case 1 corresponds to N, = 200 divisions of the solid


angle sphere, and a pixel space of 512x482. The corresponding
values fi)r case 2 are 400 and 1024x964, and 800 and 1024x964,
respectively.

APPENDIX B: I N F I N I T E CANOPY

In this appendix, we describe the modifications


required to model the scattering from an infnite
canopy.
A brute force approach to study scattering
from an infinite canopy will be to duplicate the
basic canopy (consisting of nine 3D plants) many
times over the 2D space, increase the number of
polygons by the number of duplications, and use
the computer program as it is. However, this is
quite an inefficient method. Before we describe
our more efficient approach, let us analyze how a
finite canopy differs from an infinite canopy.
In an infinite canopy, the plants in the neighborhood of the basic canopy cast shadows on the
plants in the basic canopy. These shadows will
alter the amount of (direct and diffuse) solar fluxes
F,(i) and F,l(i) incident on the facet i. Further,
the radiation leaving the basic canopy will be
scattered by the plants in the neighboring canopy
and reenter the basic canopy. This will impact the
nature of the multiple scattering and the values of
the view t~actors between facets of the basic canopy.
We assume that the infinite canopy consists of
the basic canopy duplicated 101101 times,
touching each other and placed on a square grid.
Thus, the projection of any of these canopies on
the computer screen, placed perpendicular to a
given sun direction, is the same as for the basic
canopy except displaced by an appropriate amount.
Therefore, to calculate the changes in the incident
fluxes caused by the neighboring canopies, we
project only the basic canopy on the computer
screen, and modify its projected polygons through
virtual projections of canopies between the basic
canopy and the sun location, obtained by using a

102

God et al.

displacement mask on the projection of the basic


canopy.
This procedure takes into account the shadows
caused by the neighboring canopies on the basic
canopy. The assumption that radiosity solution is
the same for all the "blocks" (of basic canopy) in
the infinite canopy leads to the following interesting observation. The radiative exchange between a
leaf A in the basic canopy and a leaf B in the
neighboring block can be thought of as an exchange between the leaf A and a leaf B', both in
the basic canopy, where B' is the leaf B except
displaced by an appropriate amount. Therefore,
leaves A and B' may have nonzero view factor,
although they are on the opposite sides of the
canopy! Using this approach, one can solve the
problem of infinite canopy (which would otherwise involve infinite nmnber of variables) by using
only variables of the basic canopy, assuming that
the values of the view factors are computed correctly.
We now present a modification of the view
factor algorithm for the infinite case which incorporates mutual directional projections of displaced
polygons.
1. Divide the 47r solid angle of the unit sphere
around a point on facet i into a prespecified
number N, of segments of identical solid
angles.
2. For each of these segments, do the following:
(a) Take the vector d from the origin of the
sphere through the center of the solid
angle segment as the direction vector
for that solid angle segment.
(b) Create "front face" of the basic canopy
by drawing all polygons on the screen
in the sorted order (each polygon has
its own unique color). At this time, the
mutual projections (contributions to
view factors) are not computed. This
front face structure is universal for all
canopy blocks (regardless of the block's
position) and is only displaced in x and
y directions by appropriate values. It
consists of portions of polygons which
can be seen in the basic canopy from
the given direction d.
(c) Create "infinite foreground" of the basic canopy by repeatedly copying the

front face onto new (originally blank)


screen. Because we are, at this point,
interested only in the "foreground" of
the basic canopy, we use "front faces"
of only those blocks, which are in front
of basic canopy (in the sense of direction d). Of course, each front face, when
copied, is displaced from the position of
the basic canopy by appropriate displacements in x and y directions. Furthermore, the order in which different
blocks are copied on the screen is sorted
according to the distance of the center
of the block to the screen (the most
distant block face is copied first)--this
is necessary in order to correctly resolve possible overlaps of the displaced
faces. For reasons of efficiency, only
those blocks whose front faces intersect
the basic canopy are used.
(d) Draw the polygons onto the "infinite
foreground" screen in the sorted order
and, during this process, compute the
view factor contributions as described
in Appendix A. The only difference from
the case of finite canopy is that now we
do not start from a blank screen but
from an "infinite foreground" composed
of displaced copies of the same basic
canopy as described in (e).
(e) As a last step, we have to include the
contribution of the "infinite background," that is, the infinite canopy as
seen from the basic canopy when looking in the direction opposite to the given
direction d. To accomplish that, we first
draw one single "back face" of the basic
canopy by drawing the polygons on the
blank screen in the order which is exactly opposite to the one used when
drawing the front face. Then we create
the "infinite background" from the
blocks which are "behind" the basic
canopy exactly the same way as in step
(c)--only the sorted order of the blocks
is opposite. Finally, we scan the "infinite background" screen pixel by pixel
and impose the image on the screen
created in step (d), computing the contributions to the view factors from the
overlap of these two screens.

Computer Graphics Modelfor Scattering 103

This research was in part supported by NASA. We benefitted


from many discussions with John Norman of the University of
Wisconsin. We gratefully acknowledge the assistance of Donald Kunkel in setting up the video recording equipment.

Goral, C. M., Torrance, K. E., Greenberg, D. P., and


Battaile, B. (1984), Modeling the interaction of light between diffuse surfaces, Cornput. Graph. 18(3):213-222.
Greenberg, D. P. (1989), Light reflection models for computer graphics, Science 244:166-173.

REFERENCES

Greenherg, D. P., Cohen, M. F., and Torrance, K. E. (1986),


Radiosity: A method for computing global illumination,
Visual Comput. 2:291-297.

Abelson, H., and diSessa, A. A. (1982), Turtle Geometry, MIT


Press, Cambridge, MA.

tlornbeck, R. W. (1975), Numerical Methods, Quantum Publishers, New York.

Asrar, G. (Ed.) (1989), Theory and Applications of Optical


Remote Sensing, Wiley-Interscience, New York.

Hottel, H. C., and Sarofim, A. F. (1967), Radiative Transfer,


McGraw-Hill, New York.

Barnsley, M. (1988), Fractals Everywhere, Academic, San


Diego.

lmmel, D. S., Cohen, M. F., and Greenherg, D. P. (1986), A


radiosity method for non-diffuse environments, Comput.
Graph. 20(4):133-142.

Cohen, M. F., and Greenberg, D. P. (1985), The hemi-cube: a


radiosity solution for complex environments, Comput.
Graph. 19(3):31-40.
Cohen, M. F., Greenberg, D. P., Immel, D. S., and Brock,
P. J. (1986), An efficient radiosity approach for realistic
image synthesis, IEEE Comput. Graph, Appl. 6:26-35.
Cohen, M. F., Chen, S. E., Wallace, J. R., and Greenberg,
D. P. (1988), A progressive refinement approach to fast
radiosity inaage generation, Comput. Graph., 22(4):75-84.
Deering, D. W. (1989), Field measurements of bidirectional
reflectance, in Theory and Applications of Optical Remote
Sensing (G. Asrar, Ed.), Wiley-Intersciencc, New York, pp.
14-65.
Feder, J. (1988), Fractals, Plenum, New York.
Gerstl, S. A. W., and Borel, C. C. (1990), Principles of the
radiosity method for canopy reflectance modeling, in Proc.
Int. Geosci. Remote Sens. Syrup. (1GARSS '90), pp.
1735-1737.

Jones, C. A., and Kiniry, J. R. (Eds.) (1986), CERES-Maize, A


Simulation Model of Maize Growth and Development, Texas
A&M Univ. Press, College Station.
Lindemnayer, A. (1968), Mathematical models for cellular
interaction in development, I and II, J. Theor. Biol.
18:280-315.
Mandelbrot, B. (1983), The Fractal Geometry of Nature, Freeman, San Francisco.
Mortenson, M. E. (1989), Computer Graphics, Industrial
Press, New York.
Myneni, R. B., Ross, J., and Asrar, G. (1989), A review on the
theory of photon transport in leaf canopies. Agric. Forest
Meteorol. 45:1-153.
Norman, J. M., and Campbell, G. (1983), Application of
plant-environment model to problems in irrigation, Adv.
Irrigation 2:155-188.

Goel, N. S. (1988), Models of vegetation canopy reflectance


and their use in estimation of biophysical parameters from
reflectance data, Remote Sens. Rev. 4:1-222.

Norman, J. M., and Goel, N. S. (1988), Plant architecture,


growth and radiative transfer for terrestrial and space
environments, proposal submitted to NASA, Innovative
Research Program.

Goel, N. S. (1989), Inversion of canopy reflectance models fi)r


estimation of biophysical parameters from reflectance data,

Peitgen, H.-O., and Saupe, D. (Eds.) (1988), The Science of


Fractal Images, Springer-Verlag, New York.

in Theory and Applications of Optical Remote Sensing


(G. Asrar,
2t)5-251.

Ed.), Wiley-Interscience, New York, pp.

Goel, N. S., sand Deering D. W. (1985), Evaluation of a


canopy reflectance model for LAI estimation through
its inversion, IEEE Trans. Geosei. Remote Sens.
GE-23:674-684.
Goel, N. S., and Gricr, T. (1988), Estimation of canopy
parameters for inhomogeneous vegetation canopies from
reflectance data: III. TRIM. A model for radiative transfer
in heterogeneous three-dimensional canopies, Remote
Sens. Environ. 25:255-293.

Prusinkiewicz, P. (1987), Applications of L-Systems to computer imagery, graph granmmrs and their applications to
computer science, in Third Int. Workshop, Lecture ,Votes
in Computer Science (H. Ehrig, M. Nagl, A. Rosenfeld and
G. Rozenberg, eds.). Springer-Verlag, Berlin, Vol. 291,
pp. 534-548.
Prusinkiewicz, P., and Hanan, J. (1989), Lindenmayer Systems, Fractals, and Plants', Springer-Verlag, New York.
Prusinkiewicz, P., and Lindemnayer, A. (1990), The Algorithmic Beauty of Plants', Springer-Verlag, New York.

Goel, N. S., and Rozehnal, I. (1991), Some non-biological


applications of L-systems, Int. J. Gen. Syst. 18(4).

Ranson, K. J., Daughtry, C. S. T., Biehl, L. L., and Bauer,


M, E. (1985), Sun-view angle effects on reflectance factors
of corn canopies, Remote Sens. Environ. 18:147-161.

Goel, N. S., Knox, L. B., and Norman, J. M. (1991), From


artificial life to real life: computer simulation of plant
growth, Int. J. General Syst. 18(4).

Bushmeier, H. E., and Torrance, K. E. (1990), Extending


radiosity method to include specularly reflecting and
translucent materials, ACM Trans. Graph., 9:1-27.

104

Goel et al.

Salisbury, J. W., and Milton, N. M. (1988), Thermal infrared


(2.5- to 13.5-/zm) directional hemispherical reflectance of
leaves, Photogramm. Eng. Remote Sens. 54:1301-1304.

Sparrow, E. M., and Cess, R. D. (1970), Radiation Heat


Transfer, Brooks/Cole, Belmont, CA.

Shao, M.-Z., Peng, Q.-S. and Liang, Y.-D. (1988), A new


radiosity approach by procedural refinements for realistic
image synthesis, Comput. Graph. "22(4):93-101.

Walter-Shea, E. A., Norman, J. M., and Blad, B. L. (1989),


Leaf bidirectional reflectance and transmittance in corn
and soybean, Remote Sens. E~vir<m. 29:161-174.

Você também pode gostar