A Reflectance Model for Computer Graphics

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 re- fleetances and scattering from them, in the visible and near infrared regions. The computer genera- tion uses a modified Lindemnayer system (L-sy,s- tern) 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 simu- lation of their growth, dynamics, and movement. In renderin~ an object on a computer screen, the object is divided inW fiwets (triangles and quadri- laterals), and some existing and some new com- puter 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 bidirec- tional 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. INTRODUCTION When electromagnetic radiation is incident on a terrestrial surface or a three-(limensional (3D) ob- ject (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 val- leys. 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

description

spectral data to get the shape

Transcript of A Reflectance Model for Computer Graphics

Page 1: A Reflectance Model for Computer Graphics

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 re- fleetances and scattering from them, in the visible and near infrared regions. The computer genera- tion uses a modified Lindemnayer system (L-sy,s- tern) 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 simu- lation of their growth, dynamics, and movement. In renderin~ an object on a computer screen, the object is divided inW fiwets (triangles and quadri- laterals), and some existing and some new com- puter 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 bidirec- tional 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) ob- ject (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 val- leys. 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

Page 2: A Reflectance Model for Computer Graphics

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 forward- scattering peak (specular reflection). Extraction of the structural parameters of the surface and ob- jects from the BRF distribution is an important goal of measuring BRF distribution, and is a cru- cial 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 mea- sured BRF distribution, and extract information about the characteristics of the object, is to carry out a least square fit of the observed BRF distribu- tion to a model for the scattering process. For vegetation canopies, such models are known as canopy reflectance models. They have been re- cently 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 in- version, 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 distri- bution. This method for analyzing the BRF distri- bution has at least one shortcoming--because of the simplifying assmnptions made in the canopy reflectance model, the fit ignores the fine struc- tural 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 scatter- ing 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 sur- face 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 shad- owing one must choose while displaying the ob- ject. 3) Determination of whether a facet is visible from another tZacet (needed for calculating multi- pie 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 illus- trate 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 re- search.

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-sys- tems.

Fractals were introduced by Mandelbrot (1983), who recognized the relationship between large scale structures and small scale detail as an

Page 3: A Reflectance Model for Computer Graphics

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 intro- duced 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 produc- tion 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 0L- system 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 p l and p2 defined below:

Axiom

Production Rules s : a

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 - - - ,e tc .

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 simul- taneously [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 se- quence 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-sys- tems to generate realistic plant images. Goel and Rozehnal (1991) have applied the L-systems to nonbiological systems, for example, to create musi- cal compositions, for carrying out algebraic com- putations, 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-sys- tems for generating structures because we believe that this approach is more versatile, as is demon- strated 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 com- plex 3D structures, we had to extend the 0L-sys- tem. 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

Page 4: A Reflectance Model for Computer Graphics

76 Goel et al.

3D turtle graphics (Abelson and diSessa, 1982). These characters can be classified into two cate- gories: 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 deter- ministie 0L system (we will call this set the origi- nal set), augmented with others to give the needed flexibility in designing complex obj'eets and siinu- lating their growth and dynamics. We now de- scribe 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 head- ing, 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 addi- tion, 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 quintu- plet: 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.

U +

C i

)

A

7 t.

The original set of characters (letters) of the alphabet V consists of the fbllowing svmbols (and their interpretations):

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.

f 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 posi-

tions 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' 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 deter- mined 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 move- ment from a normal distribution, whose

Page 5: A Reflectance Model for Computer Graphics

Computer Graphics Model fi)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 be- low:

(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 in- creases. This open-ended recursive scheme is de- sirable 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 pro- gramming languages such as FOm~RAN and 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 poly- gons, it is convenient to have a number of stan- dard 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 revolu- tion. 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 in- troduced 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 coeffi- cient 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 defini- tion of a structure, the 3D coordinates of the position of the turtle after completing the com- mand(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-sys- tems.

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 inter- pretation 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 poly- gons, especially when the pair of operators { } and ( ) are used. In the model for scattering in the optical region from an object, we characterize the

Page 6: A Reflectance Model for Computer Graphics

78 Goel et al.

Figure 2. A bushy plant gen- 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.

,q

y

object in terms of polygons (usually triangles and quadrilaterals).

2.3 Illustrative Examples

That the L-systems are effective and powerfld tools for generating a variety of structures is illus- trated 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, con- sisting 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).

e = 6 0 -I0 e -30 0 -72

IT=20 ITm20 ITm20 IT=20

0 =II0 e =125 0 =150 0 =170 IT= 20 IT= 20 IT= 20 IT= 20

Page 7: A Reflectance Model for Computer Graphics

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).

Page 8: A Reflectance Model for Computer Graphics

80 Goel et al.

Figure 6. A "simulated corn'" plant generated by the ex- tended 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 gravi- tational 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 REFLECTANCE

In this section, we will present the computer graphics based model DIANA for calculating scat- tering 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 ad- dressed 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 ele- ments.

In the optical region (visible and near in- frared), diffnse reflectance and transmittance are more significant than their specular counterparts (vegetation elements behave more like rough sur- laces 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 speeu- larly reflected), and the hemispherical transmit- t 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

Page 9: A Reflectance Model for Computer Graphics

Computer Graphics Model fi~r Scattering 81

not consider multiple scattering. In the NIR, be- cause of small absorption, one must consider mul- tiple 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 essen- tiallv all the radiation diffusely reflected.

In the microwave region, where the wave- length 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 counter- parts. 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 baekseat- tered 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 geometri- cal 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 re- flectance. These models adequately represent sparse canopies (e.g., shrubs, orchards, planted crops in their early stages of growth) where multi- ple 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 ig- nore 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 repre- sentatives 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 ele- ments 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 ran- dora 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 inter- eeption 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 (trans- port) 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 simu- lation of radiation regime of a canopy consisting of objects of arbitra~ shapes (with scattering proper- ties which can va~' throughout the surfaces of objects), arranged in an arbitrary" configuration, and still only requires computer time (of a work- station) measured in fraction of an hour for finite canopies to a few hours for infinite canopies.

As noted in the Introduction, this model con- sists of four parts: a) computer generation of the canopy, with each object characterized by polygo- nal 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 preced- ing 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 512×482 pixel screen (repre- sentative of an ATT TARGA-16 graphics board).

Page 10: A Reflectance Model for Computer Graphics

82 Goel et al.

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

o f Colors

Color R G B C

Black 0 0 0 0 Blue 0 0 31 31 Green 0 31 0 992 Cyan 0 31 31 1023 Bright Bhle 10 10 31 10,591 Gray 12 12 12 12,684 Red 31 0 0 31,744 Magenta 31 0 31 31,775 Ye] h)w 31 31 0 32,736 White 3l 31 31 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 com- ponent G, and the leftmost 5 bits the red compo- nent 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 en- sure 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 coordi- nates 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 com- puter 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 over- drawn 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/scat tered 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 emit- tance 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 o f a Facet by Another Facet: Inclusion of the multi- ple scattering is one of the hardest chores in developing any model for radiation regime in a canopy. In the present model, we assume that

Page 11: A Reflectance Model for Computer Graphics

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. Fur- ther, we assume that the suri<ace is a perfect Lambertian surface, with diffuse scattered light distributed isotropieally.

We investigate the multiple scattering of dif- filse scattered light by using the concept of radios- ity, 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) j = 1

where N is the number of facets, Eii is the frac- tion 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 fac- tor, 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,

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 t3jF, . (6) . i - ]

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 N

R, = E, + 0, E + g (7) j - I k = I

where r~ is the transmittance (fraction of incident light which is transmitted through the surface) of the ith t~aeet and T u 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 superimpos- ing a single-scatter specular reflectance model on the radiosity solution. However, its practical im- plementation 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,

Fi,~ure 7. Cont r ibut ion of flux to surface i f iom ne ighbor ing surfhees j and k, f~om the front and back sides.

t ,tilG:

Page 12: A Reflectance Model for Computer Graphics

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 suc- ceeded 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)

[ [ cos O~ cos Oj d A i d A i A = , , , ( 8 ) i

AiAj

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 geomet- ric analog for the integral, for example, one pro- posed 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," be tween two ICacets.

~ Area A j

/ , / •

' ~ i Area A i

/ /

, /

"J II ",,

i): i/il----t.I , d A j d A i C o s 0 i . CosOj

r 2

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 hemi- sphere is again projected on the base of the hemi- sphere. 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 projec- tion 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 henri- sphere 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 coincid- ing 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

Page 13: A Reflectance Model for Computer Graphics

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 direc- tion vector for that solid angle seg- ment.

(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, com- puting view factor contributions for all pairs of facets which overlap when projected in that direc- tion. This can be accomplished in a relative simple manner by performing (for each of the N,. direc- tions) the standard painter's algorithm (Morten- son, 1989, p. 100) used in computer graphics for hidden surface removal:

1. Sort all polygons according to their dis- tances to the projection plane perpendicu- lar 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)

(ii)

draw each polygon in a separate color so that we can later identi~' the polygon from the color found on the projection screen, and 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 Fig- ure 10a are shown three triangles with their sorted order relative to the given direction vector d (different shadings are meant to replace their col- ors). 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, trian- gle "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 trian- gle 3 and triangle 1 contribute to their correspond- ing 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 calcula- tions exactly through analytical means. We have shown that the computer graphics method de- scribed above gives results which are quite good when one divides the sphere into 200 solid angle segments. This accuracy increases further when

Page 14: A Reflectance Model for Computer Graphics

86 Goel et al.

t a )

I j ,J

(b)

% I % x l

(c)

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

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 1024×964 pixels. We should note that the accu- racy of the method decreases with tile increase in distance between the facets hecause of the approx- imation of the 47r solid angle into discrete seg- ments. However, for large distances the view fac- tor can any way be neglected in most practical situations.

(B) Calculation of Emittanees. We will now derive expressions for emittances g i f i '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 cross- ing 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

r t = F s -[- F d ,

skyl = r a / r,,

= ( 1 - s k y l ) r , , ( m )

r,t = skyl" r , .

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 subsec- tion (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 , ' sa la( i ,d) . (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 num- ber N,./2 of directions. The intensity in any given solar direction is r ( t / r r . Let the sun direction for

Page 15: A Reflectance Model for Computer Graphics

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

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

( 1 2 )

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)

Figure 11. Emit tanees of sun side and dark side surlhees.

~[ sun l i gh t

, \ ! I "- . \ \ I / / . , .

" " - ::.£'.,\ L :.'.---" ...5s.'...'~.... °.~° ~* • ,,o~ o-.o°

ooo / | "Oo -..oo

• : . . . . 7". F d (i)

where B and E are vectors,

B2 B ~ ,

N

and A is an N × N matrix,

1 - ~lFl2

A = - -

E =

E 1

, ( 1 5 )

. . . . ~ I F 1 N

• " 1

(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. How- ever, for radiosity equations, due to the physics of the situation, an iterative approach is most suit- able. For this purpose, let us rewrite Eq. (14) as

B = C B + E ,

where C is an N X N matrix,

0

C =

/;NFNI

~ i F 1 2 • • • ~ l i l N ) ,

~U FN2 " " "

Equation (17) can be written as

N

(17)

(18)

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 per- centage.

Among the many iterative procedures, the Gauss-Seidel method (Hornbeck, 1975) is most appropriate for the radiosity equation. Since

B i = ~ CikB k + E i, i = 1 , . . . ,N . (19) k = l

Page 16: A Reflectance Model for Computer Graphics

88 Goel et al.

F_,.jFi j ~< 1 and (Pi + ri) <~ 1, the matrix is diago- nally 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 r th iteration is

i - I N

B (,+') ~ Cil,.B~,+l'+ y ' ~ n(")~- Ei" i = V a i k t ~ ' k - -

k 1 k = i + l

(e0)

Since B~ > E~, in the absence of any other intbr- mation, a convenient initial guess for B~ is E~. In our experience, with this guess, we generally needed less than 10 iterations to satis~, the con- vergence 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 re- flectance anti transmittance of polygons (vegeta- tion elements) and the view factors F o remain unchanged. Therefore, a study of the scattering/ reflectance from the canopy as a function of wave- length 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 ba- sically 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 quanti- ties 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 B K 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 normal- ized values of radiosities B f s for each color. This way, the polygon with the highest value of B K 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 record- ing 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 scat- tered radiation from a facet K, as characterized lay its radiosity B K, the intensity in any viewing direc- tion is equal to BK/rr . 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 radi- ances 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~) = K

(1 / r r ) ln 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) C

where 0~: is the view zenith angle.

3.4 Computer Implementation of the Model

We now briefly describe the computer implemen- tation 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

Page 17: A Reflectance Model for Computer Graphics

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 calcu- lates their areas and normals associated with them. For each facet, it computes the incident flux den- sity 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 far- thest from the sun. During the process of drawing the polygons, the overlaps between a polygon be- ing 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 calcula- tions in this module A depend only on the geomet- rical 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 informa- tion 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 mod- ule 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 prop- erties (reflectance and transmittance) of canopy elements (leaves, stem, soil etc.), the fraction of diffuse incident radiation, skyl, and the conver- gence criterion parameter [see Eq. (21)] for solv- ing 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. SPECIFIC 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 direc- tions, respectively, correspond to the azimuth an- gles 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 config- uration 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

Page 18: A Reflectance Model for Computer Graphics

90 Goel et al.

- , q l - - a ~

3.5a

UI

2.38 a

Configuration A, sparse canopy

(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 toucheach other). This configu- ration 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 pa- rameters to describe the canopy architecture. The leaf area index LAI is calculated by simply sum- ming 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.18 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 tradi- tional leaf inclination angle distritmtion. It is the facet inclination angle distribution FAD, deter- mined 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 area- weighted 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 investi- gated 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 vegeta- tion elements and the soil, and those that charac- terize the nature of the incident solar radiation are given in Table 2. The spectral parameters corre- spond to those measured by Ranson et al. (1985).

Page 19: A Reflectance Model for Computer Graphics

Computer Graphics Model for Scattering 91

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

Parameter Visible Near Infrared

I~ca|~stem r('flcctanc(" 0.08 0.39 l~('af transmittanc(' 0.05 0.60 Stem transmittan('c 0.0 0.0 Soil reflectance 0.69 0.17 Skyl 0.2 0.1:3

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

For each of the three configurations, we con- sidered 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 in- creasing the number of polygons by the number of duplications. Instead, we used an innovative ap- proach, 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 re- flectance increases, of course, at the expense of computer time. To determine the effect of increas- ing the number of segments, we studied canopy of configuration C for 200 segments and for 400 segments. Another factor which increases the ac- curacy 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 men- tioned above. The maximum value of the view zenith angle depends upon the number of seg- ments 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 imple- mentation of DIANA, described in previous sub- section on Computer Implementation of the Model.

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 Visible NIR Visible NIR Visible NIR

A 188 208 303 B 14 2l 34 (~ 17 15 19 I) 79 93 11)7 125 130 166 E 176 175 i77 173 202 202

Total 474 268 528 298 688 368

Min BRF .0426 .1209 .0268 .1380 .0187 .1855 Max BRF .0613 .1769 .0520 .2406 .0468 .2837 All)edo .0567 ,1345 .04 t I .1759 .0322 .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 Visible NIR Visible NIR Visible N1R

A ;361 :195 596 B 24 ;19 60 C i8 I5 21 D 106 11;3 134 159 176 252 E 297 298 305 ;318 377 368

Total 806 411 883 477 1230 620

Min BRF . 0 4 0 1 . 1 2 1 1 .0253 .1383 . 0 1 8 1 .1846 Max BRF .0615 .1877 .0528 . 2 4 5 4 .0473 .2855 AI1)edo ,0565 , 1 3 4 1 .0410 .1754 .0320 .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 Visible NIR Visible NIR Visible NIR

A 393 445 777 B 20 27 38 C 27 24 28 D 100 106 112 135 136 176 E 349 312 326 314 400 384

Total 889 418 934 469 1379 560

Min BRF .0455 .1252 . 0 2 8 1 .1436 . 0 1 9 1 .1901 Max BRF .0627 .1872 .0539 .2499 .0479 .2902 Albedo .0585 .1398 .0429 .1825 . 0 3 3 1 .2337

Page 20: A Reflectance Model for Computer Graphics

92 Goel et al.

Table 3d. As Table 3b except that the Pixel Size of

the Computer Screen Is 1024 x 964

Configuration A Configuration B Configuration C

Module Visible NIR Visible NIR Visible NIR

A 747 894 1522 B 34 48 68

C 26 28 28 D 121 144 144 185 188 276

E 622 612 624 626 747 791

Total 1505 756 1738. 811 2553 1067

Min BRF .0428 .1257 .0265 .1445 .0185 .1899

Max BRF .0630 .1994 .0545 .2570 .0485 .2920 Albedo .0584 .1394 .0428 .1820 .//3311 .2324

Table 4a. As Table 3a excep t ~br an Infinite Canopy

Table 4d. As Table 3c excep t for an Infinite Canopy

Configuration A Configuration B Configuration C

Module Visible NIR Visible NIR Visible NIR

A 2265 3430 6802 B 60 136 220

C :39 46 54 11 189 239 351 54l 490 962

E 1872 1881 2620 2696 3593 3026

Total 4425 21211 6583 3237 1 1159 3988

Min BRF .0338 .1267 . t 1237 .1514 .0225 .2957

Max BRF .0618 .2495 .0472 .3913 ,0401 .4752

Albedo .0568 .1438 .0334 .2225 .0276 .3474

Configuration A Configuration B Configuration C

Module Visible NIR Visible NIR Visible NIR

A 543 630 967 B 20 44 71 C 22 21 26

11 92 114 159 214 218 434

E 365 354 417 414 479 483

Total 1042 468 1271 628 1761 917

Min BRF .0346 .1199 .0229 .1368 .0223 .2769

Max BRF .0596 .2050 .0422 .3483 .0387 .4257

Albedo .0546 .1363 .0313 .2070 .0269 .3258

Table 4b. As Tab le 3b except fi)r an Infinite Canopy

Configuration A Configuration B Configuration C

Module Visible NIR Visible NIR Visible NIR

A 1082 1298 1970 B 37 89 17(/

C 23 29 29 D 139 166 249 391 390 761

E 705 707 851 854 959 953

Total 1986 873 2516 1245 3518 1714

Min BRF .0292 .1203 .0224 .1385 .0223 .2769

Max BRF .0600 .2280 .0449 .3680 . I 1397 .4491

Albedo .0544 .1362 .0312 .2067 .0268 .3244

Table 4c. As Tab le 3c except for an Infinite Canopy

Configuration A Configuration B Configuration C

Module Visible NIR Visible NIR Visible NIR

A 1055 1430 2695 B 32 61 89

C 36 40 48 D 124 145 197 285 256 530 E 877 876 1119 1128 1385 1384

Total 2124 1021 2847 1403 4473 1914

Min BRF .0392 .1261 .0238 .1487 .0226 .2957

Max BRF .0615 .2213 .0446 .3779 .0399 .4538 Albedo .0570 .1439 .0335 .2228 .0276 .3489

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 direc- tion, 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 calcula- tions of module A. Therefore, one could reduce the computer time by saving some of the calcula- tions 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 in- creases 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 512×482 pixels to 1024×964 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

Page 21: A Reflectance Model for Computer Graphics

Computer Graphics Model for 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 com- puter 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 seg- ments and the resolution level on the BRF are shown. From these figures, comparison of detailed BRF calculated values, and Tables 4, we can con- elude the following for the infinite canopy.

(1) The hot spot effect is present in the visible region for configuration A, but is less pro- nounced 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 experi- mentally (Ranson et al., 1985) and in other models for canopy reflectance from inhomoge- neous canopies (Goel and Grier, 1988).

(3) As for the finite canopy, increasing the num- ber 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 ex- pected, 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 re- verse is true for the NIR.

(4) As for the finite canopy, increasing the num- ber of segments and the resolution level do affect the structural features of the BRF sur- face but only slightly. As we change the reso- lution 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 de- sires to calculate BRF to within 3-4% accuracy, one should plan on using 400-600 segments and the high resolution level.

Page 22: A Reflectance Model for Computer Graphics

(A)

(A)

(B)

(B)

(c)

(c)

Visible

Infrared

Visible

Infrared

(a)

(b)

Fig

ure

13.

(a)

BR

F o

f a

fini

te c

anop

y fo

r th

e th

ree

conf

igur

atio

ns A

, B

, an

d C

, fi

n" v

isib

le r

egio

n an

d N

IR,

for

200

segm

ents

of

the

soli

d an

gle

sphe

re a

nd l

ow r

esoh

ltio

n le

vel.

T

he B

t/F

val

ues

have

bee

n no

rmal

ized

bet

wee

n 0

and

1. N

adir

vie

win

g di

rect

ion

is i

n th

e ce

nter

of

the

plot

, w

hile

vie

win

g di

rect

ion

corr

espo

ndin

g to

the

max

imum

vie

w

zeni

th a

ngle

of

83.0

6 °

is t

he r

im o

f th

e pl

ot.

The

vie

win

g az

imut

h an

gle

incr

ease

s in

the

clo

ckw

ise

dire

ctio

n, w

ith

azim

uth

angl

e of

0 °

and

270

° at

the

loc

atio

ns i

ndic

ated

in

the

figu

re.

(b)

As

(a)

exce

pt f

i)r

400

segm

ents

and

fi)

r th

e hi

gh r

esol

utio

n le

vel.

The

max

imum

vie

w z

enit

h an

gle

is e

qual

to

84.9

6 °

.

Page 23: A Reflectance Model for Computer Graphics

,\)

A)

~isible

a)

Infrared

7i~,

ure

14.

(c)

Visible

'\s

Fig

ure

13

ccp

t fo

r an

inf

iuit

e ca

no

py

.

b)

nfrared

B)

c)

ID

Page 24: A Reflectance Model for Computer Graphics

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 when such eflbets are included, using the radiositv calenla- tions.

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 ° . These 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 Figure 15, we have shown the canopy in the visible region, with the sun behind the viewer. Note the promi- nent hot spot effect. In F igure 16(a) we have shown the canopy as seen in the NIR when we (a)

Page 25: A Reflectance Model for Computer Graphics

Computer Graphics Model for Scattering 97

(b)

Figure 17. (Continued)

cast t)y the neighboring plants on the displayed canopy.

5. CONCLUDING REMARKS AND FUTURE DIRECTIONS

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 bidirec- tional 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-the- concept paper. We now describe some future ac- tivities, including possible uses/extensions of the model.

(1) As noted in Section 3, there exist many ap- proaches to study radiation regime in vegeta- tion canopies. One obvious area of investiga- tion will be to compare them with the present approach to determine how good the (ap- proximate) 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

(3)

(4)

has corn, soybean, wheat, prairie grasslands under various conditions of water stress, graz- ing pressure, management treatment and sea- sons 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 investiga- tion will be to generate structures (using ex- tended L-systems) which are representative of these canopies and surf:aces, and then compare the measurements with the calculated values. 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 radia- tion regime model in which leaves are as- sumed to be randomly distributed according to specified leaf angle distribution and leaf area index. In DIANA, one can simulate the archi- tecture of the plant canopy, and not only cal- culate 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 as- suming the leaves to be randomly distributed. We suspect these inaccuracies to be substan- tial. 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 photo- synthesis 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-

Page 26: A Reflectance Model for Computer Graphics

98

(5)

(6)

(7)

Gael et al.

rithm for altering the plant architecture. For

the canopy with the new architecture for the

plants, one will then calculate the radiation

absorbed, the amount of photosynthesis,

biomass produced, partitioning of this biomass,

etc. to calculate the new architecture of the

plants and the process will continue. Without

any optimization of the existing computer code,

we estimate that a simulation of the complete

growth season of a plant like corn can be

carried out in about 2 days or less of computer

time on the SUN a/370 workstation where

the present model is implemented. Here, we

have assumed that the calculation of photosyn-

thesis will be done on an hourly basis, and the

architectural changes will be made on a daily

basis.

The concept of radiosity arose out of work

\vith thermal radiative transfer. Therefore, one

natural use of DIANA is to study radiation

regime in the thermal region. In this region,

the emissivity E of a facet will be proportional

to the fourth power of the local absolute tem-

perature of the leaf at the facet. Further, since,

in this region, transmittance of a leaf is equal

to zero, the calculation of radiosities is simpler

than in the optical region.

In principle, the model can be extended to

inclllde multiple specular scattering (reflection

and refraction). If one succeeds in such an

extension (which will require more computer

nrcmor)~ and computer time), one could use

the model to investigate scattering from

canopies of objects of arbitrary shapes in the

microwave region. With the activity (5) above,

one would then have a single model which

\vill work across the three spectral regions:

optical, thermal, and microwave. Such a model

should be quite useful in interpreting the re-

motely sensed spectral signatures of terrestrial

objects.

In the present version of the model, one can

choose separate values for the reflectance and

transmittance for each of the facets. This flex-

ibility 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 to report the results of some of the above

activities in future papers.

APPENDIX A: CALCULATION

OF VIEW FACTORS

In this appendix, we describe the procedure for

calculating view factors, using directional mutual

projections between the surfaces.

As noted in Section 3, the basic procedure

involves dividing the sphere into a prespecified

number &‘, of segments of identical solid angles.

Each of these segments is specified by the direc-

tion in the center of the solid angle segment. \Ve

choose one of these directions, sort polygons as if

there is a viewer at the end point of the direction

vector, project all facets perpendicular to this di-

rection, and for all pairs of facets find common

areas between their projections in terms of pixels.

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

backside, say i and i’. Each of these facets has a

normal vector (ni and n,!, respectively) associated

with it. Since facets i and i’ are on the opposite

sides 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

the normal to the facet j at the point !I. Let us

define a function Z( N, I/) as fi)llo\vs:

1

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

qs, !/) = nj*(s - !I) 3 0, (Al)

0 otherwise.

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

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

transmitted from A., to A,. In the general case, we

have to include a visibility function

1

I if the points s. 11 can

V(s, y) = “see each other,” (A4 0 otherwise.

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

Page 27: A Reflectance Model for Computer Graphics

Computer Graphics Model for Scattering 99

element of facet j is defined as

Fi~ = ( l / rrAi)

[[ cos 0 x ×

J J A i A I

cosO,,Z{ ,y)V(x,y) dx dy ,

(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,

F o = Ii j / rrA i . (A4)

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

cos 0,, Z(x, v)V(x, V) dy. r (x,y)

(AS)

rewrite the integral as

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

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)

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 coso dxf, (At) • i S f l x )

where the term Z(x, y)V(x, y) is transformed into the function Vm(x, S, A j) defined by

1 if point x can see some point

on the surface A i

Vl(x, S, A j) = 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.,

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

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

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. (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 Ps (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)) , ( a l l )

where the fimetion V 2 is computed as described in the paragraph above. Let x ' = Ps(x). Equation (AI0) can be written as

,i,= f. • P s ( A i )

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

.~'~ r i

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

Page 28: A Reflectance Model for Computer Graphics

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 ar- eas (e.g., more than 200 pixels), but for small surfaces this effect would lead to an overestima- tion 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

I i ) =

E (47r/N,,) E V2(xi, Ps(Aj))Aes k = l i - I

t" i

E E aPs k - I 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 re- trieval 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.

A l g o r i t h m

A. Clear the hash table to all zeros. Here, we should note that each entry in the hash table is

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 dis-

tances to the projection screen perpendicu- lar 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 poly- gons are stored in the memory).

- - Otherwise, the drawing color is equal to c = - k. Note that positive values of in- dices in the hash table entry corre- sponds 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, be- fore 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.]

- -Overwri te the screen location with the new color c.

C. Calculate the value of Fij using Eq. (A14).

T e s t R e s u l t s

To assess the accuracy of the above-described algorithms, we used it to calculate view factors for

Page 29: A Reflectance Model for Computer Graphics

Computer Graphics Model fi~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 accu- racy 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 calcula- tions 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 accu- racy, as expected increases significantly, for the case 3, which takes onlv about 31.4 min.

Figure AI. Test configu- ration fi)r view factors cal- culations.

Table AI. Ideal View Factors for Parallel Plates vs. Average Calcula ted Values from a Mult iplate Configurat ion (See Text for Detai ls)

Distance Ideal Calculated Average View Factors'

d Value Case 1 Case 2 Case 3

I .199825 .211585 .206749 .204126 2 .068590 .082190 .075809 .071463 3 .032971 .047610 .039945 .035743 4 .019107 .03'2170 .023988 .020822

CPU time (s) 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: INFINITE CANOPY

In this appendix, we describe the modifications required to model the scattering from an infni te 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 neigh- borhood 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 101×101 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

Page 30: A Reflectance Model for Computer Graphics

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 interest- ing 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 ex- change 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 other- wise involve infinite nmnber of variables) by using only variables of the basic canopy, assuming that the values of the view factors are computed cor- rectly.

We now present a modification of the view factor algorithm for the infinite case which incor- porates 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 follow- ing: (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 ba- sic canopy by repeatedly copying the

(d)

(e)

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 direc- tion d). Of course, each front face, when copied, is displaced from the position of the basic canopy by appropriate dis- placements in x and y directions. Fur- thermore, 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 re- solve possible overlaps of the displaced faces. For reasons of efficiency, only those blocks whose front faces intersect the basic canopy are used. 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). As a last step, we have to include the contribution of the "infinite back- ground," that is, the infinite canopy as seen from the basic canopy when look- ing 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 ex- actly 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 "in- finite background" screen pixel by pixel and impose the image on the screen created in step (d), computing the con- tributions to the view factors from the overlap of these two screens.

Page 31: A Reflectance Model for Computer Graphics

Computer Graphics Model for 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 Don- ald Kunkel in setting up the video recording equipment.

REFERENCES

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

Asrar, G. (Ed.) (1989), Theory and Applications of Optical Remote Sensing, Wiley-Interscience, New York.

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

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.

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.

Goel, N. S. (1989), Inversion of canopy reflectance models fi)r estimation of biophysical parameters from reflectance data, in Theory and Applications of Optical Remote Sensing (G. Asrar, Ed.), Wiley-Interscience, New York, pp. 2t)5-251.

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.

Goel, N. S., and Rozehnal, I. (1991), Some non-biological applications of L-systems, Int. J. Gen. Syst. 18(4).

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).

Goral, C. M., Torrance, K. E., Greenberg, D. P., and Battaile, B. (1984), Modeling the interaction of light be- tween diffuse surfaces, Cornput. Graph. 18(3):213-222.

Greenberg, D. P. (1989), Light reflection models for com- puter graphics, Science 244:166-173.

Greenherg, D. P., Cohen, M. F., and Torrance, K. E. (1986), Radiosity: A method for computing global illumination, Visual Comput. 2:291-297.

tlornbeck, R. W. (1975), Numerical Methods, Quantum Pub- lishers, New York.

Hottel, H. C., and Sarofim, A. F. (1967), Radiative Transfer, McGraw-Hill, New York.

lmmel, D. S., Cohen, M. F., and Greenherg, D. P. (1986), A radiosity method for non-diffuse environments, Comput. Graph. 20(4):133-142.

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, Free- man, 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.

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.

Peitgen, H.-O., and Saupe, D. (Eds.) (1988), The Science of Fractal Images, Springer-Verlag, New York.

Prusinkiewicz, P. (1987), Applications of L-Systems to com- puter 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 Sys- tems, Fractals, and Plants', Springer-Verlag, New York.

Prusinkiewicz, P., and Lindemnayer, A. (1990), The Algorith- mic Beauty of Plants', Springer-Verlag, New York.

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.

Bushmeier, H. E., and Torrance, K. E. (1990), Extending radiosity method to include specularly reflecting and translucent materials, ACM Trans. Graph., 9:1-27.

Page 32: A Reflectance Model for Computer Graphics

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.

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.

Sparrow, E. M., and Cess, R. D. (1970), Radiation Heat Transfer, Brooks/Cole, Belmont, CA.

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.