Shading Models for Point and Linear Sources
TOMOYUKI NISHITA
Fukuyama University
ISA0 OKAMURA and EIHACHIRO
Hiroshima University

NAKAMAEThe degree of realism of the shaded image of a three-dimensional
scene depends on the successful
simulation of shading effects. The shading model has two main ingredients, properties of the surface
and properties of the illumination
falling on it. Most previous work has concentrated on the former
rather than the latter.
This paper presents an improved version for generating scenes illuminated by point and linear
light sources. The procedure can include intensity distributions
for point light sources and output
both umbrae and penumbrae for linear light sources, assuming the environment
is composed ofconvex polyhedra. This paper generalizes Crow’s procedure for computing shadows by using shadow
volumes to compute the shading of umbrae and penumbrae. Using shadow volumes caused by theend points of the linear source results in an easy determinationof the regions of penumbrae andumbrae on the face prior to shading calculation.
This paper also discusses a method for displaying illuminance distribution
on a shaded image byusing colored isolux contours.
Categories and Subject Descriptors: 1.3.7 [Computer
Realism-color,shading, shadowing, and texture

Graphics]:

Three-Dimensional

Graphics

andGeneral Terms: Algorithms
Additional

Key Words and Phrases: Lighting

simulation,

luminous

intensity

distribution

1. INTRODUCTION

In order to display three-dimensional objects that look more realistic, researchers
have developed techniques for simulating the properties of objects such asreflection, refraction, and transparency [8, 11, 141. The light sources used inthose techniques, however, have been limited to parallel light sources or point
light sources.
In order to correctly describe the effects of real light sources, the spatial
distribution of luminous intensity varying with direction and geometry of sourcesmust be considered [12, 131. In most previous works, however, all rays from aThis work was supported in part by Hoso-Bunka Foundation.
Authors addresses: T. Nishita, Faculty of Engineering, Fukuyama University,
985 Sanzo, Higashimura-cho, Fukuyama 729-02, Japan; I. Okamura and E. Nakamae, Faculty of Engineering, Hiroshima
University, Saijo-cho, Higashihiroshima,
724, Japan.
Permission to copy without fee all or part of this material is granted provided that the copies are notmade or distributed for direct commercial advantage, the ACM copyright notice and the title of the
publication and its date appear, and notice is given that copying is by permission of the Association
for Computing Machinery.
To copy otherwise, or to republish, requires a fee and/or specificpermission.
0 1985 ACM 0730-0301/85/0400-0124$00.75
ACM Transactions on Graphics, Vol. 4, No. 2, April 1985, Pages 124-146.

Shading Models for Point and Linear Sources-

125

point source were handled as uniform-intense, although the spatial distributionof the emittance usually varied with direction, In practical cases, the luminous
intensity distribution is indispensable, especially for point sources to simulate
the illumination of an environment. As for the geometry of the light sources,
handling only parallel light sources and point light sources is insufficient because
we have linear light sources, and area or volume light sources [lo]. These typesof sources create umbrae and penumbrae.
Shadows provide effective information concerning positional relationships
between many objects and give the observer accurate comprehension of complex
spatial environments. However, most previous algorithms have handled only
umbrae. A method of fading the boundaries of shadows by means of ditheringhas been presented, but it is just an approximation [15]. Atherton et al. andWhitted have respectively pointed out the necessity of finding an algorithm
which displays umbrae and penumbrae [2] and of handling distributed lightsources [ 141. Verbeck [ 121 recently presented methods for simulating the distributed light sources by using ray tracing and Brotman [4] presented methods byusing depth buffer algorithms. In these methods, light sources are assumed as
sets of point sources.
This paper proposes methods for displaying three-dimensional objects that are
illuminated by point sources with luminous intensity distribution or by perfectly
diffusing linear sources (Lambertian (cosine) distribution). We also present a
display method of isolux contours depicted by color belts which are superimposedon a perspective image. By using this depiction, we can easily grasp the illuminance distributions.
The algorithms described in this paper apply to objects composed of convex
polyhedra and the method of hidden surface removal is fundamentally based on[9] (see Appendix Al).
2. FUNDAMENTALIDEA OF SHADOWPROCESSING

The algorithms developed so far for parallel light sources or point sources fall
into three categories:(1) The removal of hidden surfaces and the detection of shadow boundaries are
executed on each scan line when an image is produced [l, 31.
(2) The shadowed areas on each polygon are detected prior to removal of hidden
surfaces [Z, 9l.l(3) Every volume of space swept out by the shadow of each object is obtained
before removing hidden surfaces [6].
In this paper, the authors employ the second algorithm extended to treat point
light sources with luminous intensity distribution. This algorithm uses theoverlap test in the hidden surface algorithm (see Appendix 1) twice, once for thelight source and once for the viewpoint. The algorithm detects shadow boundaries
on a perspective plane observed from the light source (specified only by a direction’ The basic idea of [9] is introduced

in [Z].
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

126

l

T. Nishita, I. Okamura, and E. Nakamae

for a parallel light source). For parallel sources and point sources existing outside
the field of view, a suitable perspective plane can be determined. However, forpoint sources existing within the field of view, all vertices of objects can notalways be projected onto the perspective plane. In this case, a procedure in object
space is necessary. We propose a shadow detection method which operates on
the perspective plane or on the object space as required (see Section 3.2).
None of the three algorithms mentioned above can be applied directly to
shadow detection for linear light sources. Thus we are introducing the idea ofdetecting the shadowed areas for linear light sources prior to removal of hidden
surfaces in the second algorithm and the concept of shadow volumes for linear
light sources in the third algorithm. The proposed algorithm is executed by thefollowing three steps. First, the volumes of umbrae and penumbrae are calculated.
Second, the umbra and penumbra areas on each face are calculated by using the
shadow volumes. Finally, the intensity of the faces is calculated on each scanline when the hidden surfaces are removed. The shading calculations are simplified by the prior detection of the shadow boundaries, at the expense of some
additional storage.
3. POINT SOURCES WITH LUMINOUS INTENSITY DISTRIBUTION
3.1 Regions Needed for Shadow Detection and Luminous
Intensity Distribution Curve
The distribution of the emittance of a point source varies with direction. In thispaper, we limit our discussion to point sources having rotationally symmetricintensity distribution characteristics. In this case, the luminous intensity distribution is expressed by a curve as shown in Figure 1; it is called the luminous
intensity distribution curve in illuminating engineering. The curve represents
the variation of luminous intensity of a lamp on a plane including the light centerand the illumination axis.
The intensity levels of display devices are finite. In some cases,the illuminanceon the faces is very low because the illuminance decreases as the square of the
distance from the light source. In addition, the reflector of a lamp often restricts
the illuminating space of the light source. These facts suggest that some faces
far from the source can be omitted from the shadow detection. As shown by adotted line in Figure 2a and b, the size of shadow detection volume is proportional
to the luminous intensity distribution curve. For simplicity of shadow detection,
we use a partial sphere of lighting shown by the dot-dash lines in this figure. The
partial spheres are defined as the part of a sphere bounding a space where theilluminance can not be neglected. In Figure 2a, 0, shows the beam spread and r,
is the attainable distance of the light which depends on the maximum luminous
intensity and the intensity levels (e.g., 8 bits) of the display device. That is, since
the display intensity resolution is only 8 bits, at a certain distance from the lightsource, the effect of the lighting is insignificant (less than l/256 of the maximum
intensity). When Of is larger than ninety degrees (see Figure 2b) two spheres are
required, upper and lower, with radii r, and r,, respectively, because in manycases the luminous intensity distribution characteristics are very different. The
partial spheres of lighting are used only to reduce shadow detection computations(see Section 3.2).
ACM Transactions

on Graphics, Vol. 4, No. 2, April 1985.

Shading Models for Point and Linear Sourcesl127

Fig. 1. Luminous intensity distribution
curve (used for the street lamp in Fig. 11~).

Ni 1 lamination
luminous
distribution

axis

intensity
curve

shadowdetectio

1owcr partof lighting

i alspherepartialsphereof lighting
Fig. 2. Side view of luminous intensity distribution curves and partial spheres of lighting. (a) 1fl, 1
5 7~/2. (b) I8/ 1 > 7r/2.

Actual luminous intensity distributions
depend on a very large number offactors and are extremely complex. Simplifications
can be made, however, that
produce reasonably pleasing results. Two approximations
are used in the images
produced in this paper:(1) Most luminous intensity distributions
can be expressed by a function ofcos0 where 6 is the angle between the illumination
axis and the lighting ray. We
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

128

l

T. Nishita, I. Okamura, and E. Nakamae

prepared some typical luminous intensity curves such as I/(O) = I(1 + cosR)/2 (Iis given as the luminous intensity at 0 = 0”).
(2) The luminous intensity data are given, for example, every ten degrees,(6, = O”, lo”, . . . , 180”). Intervening luminous intensities are calculated by using
linear interpolation, that is, the intensity I/ (0) of angle 8, where 0, % 0 < 8,+,, isexpressed bywheret = (0 - ~‘)/@‘,, - 0,)= (cod - cos~,)/(cos8,+~ - cod,),t is approximated because 0 is obtained as the function of cos13,as mentioned in

Section 3.3. In order to avoid excessive cosine calculations, two look-up tables,
cos8, and (cosB,+~- cos0,)-l, are used.
3.2 Shadow Detection
In deciding whether or not one convex polyhedron casts its shadows on another,
we assume that the viewpoint is at the point source and that the perspective
plane includes an arbitrary point on the illumination axis (see Qc in Figure 3).
For a single point light source and convex polyhedra, shadow detection is
performed for every pair of polyhedra, and each shadow boundary is stored as aconvex polygon on a face. Then, the shadow areas on the face are obtained by
the union of the shadows cast on it. This makes easy scanning of shadowboundaries because of convex shadows.
As shown in Figure 3a, when both convex polyhedra can be projected onto theperspective plane, shadow boundaries are calculated on the perspective plane byusing the projected contour lines of the convex polyhedra (see [9]). Otherwise,
the shadow detection is performed in object space using pyramids of infinite
height that are formed by the point source and the contour edges of the convex
polyhedra (see Figure 3b). If the pyramids for two convex polyhedra intersect
each other, there is a shadow area on the farther polyhedron from the point
source (in Figure 3b, V,), and the shadow area is the part intersecting with thepyramid made from the closer convex polyhedron (in Figure 3b, Vz). This
computation is easy because the pyramids are convex and always have a common
vertex, the point source.
The reduction of shadow tests is significant when there are many objects andmultiple light sources. Disregarding reflections, the polyhedra requiring shadow
display are restricted within the field of view, while polyhedra outside the fieldof view can only act to cast their shadows on the polyhedra inside the field ofview. By using the field of view and the partial sphere of lighting, the number of
combinations for the shadow detection is reduced from no(nO- 1)/2 (i.e., no&)to nJn,, - 1)/2 + n,,.n,, where no is the total number of convex polyhedra, n,
the number of the polyhedra within the field of view and the partial sphere oflighting, and n, the number of polyhedra existing outside the field of view but
within the partial sphere of lighting.
ACM Transactions

on Graphics,

Vol. 4, No. 2, April

1985.

130

.

T. Nishita, I. Okamura, and E. Nakamae

Fig. 4. Illuminance calculation for a point light source.

3.3 Shading
In order to save computation time, we use a technique similar to Gouraud shading[ 71. The calculation of illuminance on faces along each scan is executed not onlyat the boundaries of the faces such as Gouraud shading but also at the boundaries
of shadows and at regular intervals (three or five pixel intervals are used in thispaper). The illuminanceof pixels within each interval is computed by linear
interpolation.
The illuminance, E,, from a light source at P/, at an arbitrary point P on aface St is expressed bywhere r is the distance between P/ and P, (Y is the angle between the normal ofa face S, and the light ray from the source, and B is the angle between theillumination
axis and the light ray from Pf to P (see Figure 4).
Let F( S, Q) be the perpendicular distance between the plane of polygon S anda point Q. Let the coefficients of the plane of S be (a, b, c, d) where (a, b, c) are
the coefficients of the unit outward pointing normal to the plane of S and let Q= (X, Y, 2). Then
F(S,Q)=aX+bY+cZ+d.
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

(3)

Shading Models for Point and Linear Sourcesl131

By using eq. (3), cosa is easily obtained as follows:cos a =

m/,

PP)
r

’

then eq. (2) is expressed by
E = L(e)P

JYSf, P/l
r3
’

(4)

I,(e) in eq. (4) is easily calculated by using the plane S, that is perpendicular to
the illumination axis and includes P/ (see Figure 4), because the luminous
intensity of a point source is expressed by a function of co&; that iscase = F(St., P)r’

4. LINEAR SOURCES

The shape of a linear light source discussed in this section is assumed to be aline segment, and the luminous characteristics are Lambertian distribution anduniform brightness.
In this section, we discuss the shadow detection of penumbrae and umbrae andthe shading calculation for the linear source.
4.1 Shadow Detection
4.1.1 Penumbra and Umbra Volumes for Shadow Detection. The shadows caused
by a linear source consist of umbrae and penumbrae as mentioned before. Because
objects are treated as sets of convex polyhedra, it is easy to determine the shadow
volumes for shadow detection.
As shown in Figure 5, let us assume an arbitrary face S, exists farther from alight source than a convex polyhedron V. We define the contour lines Ci and Cp,
where C1 is the silhouette contour of V when vie.wed from an end point Q1of thesource and C2 is the silhouette contour made by Qz. When these two contour
lines are projected onto face S,, the intersection of the polygonal area, as definedby the projected contour lines Cl and Cl, makes an umbra area (as shown by across-hatching in Figure 5). The minimum convex polygon surrounding Ci and
Ci forms a penumbra area (as shown by a hatching and dotting in Figure 5).
Note that the penumbra should not be described as the union of the areas
defined by C; and Ci, but the convex hull of those areas. In the dotted regionsof Figure 5, although both Q1 and Q2 are visible, a part of the segment isinterrupted by the polyhedron.
Expanding this idea to a three-dimensional space, consider the shadow volumes
U/(/ = 1, 2) which are formed by using the convex polyhedron V and Q/(/ = 1,2). The volume U,(! = 1, 2) is the open space surrounded by the following two
types of planes: the planes consisting of the end point Q/ and all pairs of adjacentvertices of C/; and the planes of all faces of the polyhedron visible from Q/. A
penumbra volume is defined as the minimum convex volume surrounding U, andUz, and an umbra volume is defined as the intersection of U, and U2.
As shown in Figure 5 and Figure 6, there are two cases concerning therelationship between each pair of shadow volumes for a linear light source. That
ACM Transactions

on Graphics,

Vol. 4, No. 2, Ap;il 1985.

Fig. 5.

Regions of penumbra and umbra (Case A for shadow volumes).

Fig. 6.

Regions of shadows on face (Case B for shadow volumes).

Shading Models for Point and Linear Sourcesl133

is, U, and U, intersect each other (Case A) or one of U,(/ = 1, 2) encloses theother one (Case B). The determining method of the penumbra and umbra volumes
for Case A and Case B is described in Appendix 2.
Shadow detection is performed by using the relationships between the shadow
volumes and each of the faces. This procedure is discussed in the following
section.
4.1.2 Shadow Detection on a Face. Faces that are totally invisible from bothend points of the linear source lie completely in the umbra and need not havefurther shadow detection performed. Faces that are visible from either end pointof the linear light source are handled as described below.
The penumbra volume always includes the umbra volume. If the penumbra
volume of the polyhedron V and the face S, do not intersect, there is no shadow
cast on S,. Otherwise, the penumbra and umbra boundaries are obtained byprojecting the contour lines C/(/ = 1, 2) onto S, from Q/. The penumbra andumbra boundaries are basically stored as loops on the face. We call the loops forpenumbra and umbra, a penumbra loop and an umbra loop. We assume that
contour lines C, (/ = 1,2), are defined in a clockwise direction when viewed from
Q/. Then, the penumbra and umbra loops are determined by the following
method. In Case A, let two common vertices of Ci and Cz be PL and PR (see thedefinition of PL and PR in Appendix A2; PL = P4 and PR = Pa in Figure 5). Ci
and C.$ are divided into two separate strings by using PL and PR, respectively (inFigure 5, the separated strings are [P;,4, P;,l, Pi,*], [P;J, P;J, P;J, [P~J, P&,
Pi,J, and [P&, P;,,, P;,5, P&, P&l). The penumbra loop is obtained by connecting two strings existing on the surfaces of the penumbra volume (in Figure
5, w,4, l-y,, p;,z, Pi,29 P&3, P&l). The umbra loop is obtained by connecting
the other two strings. The umbra loop, however, twists (in Figure 5, [P;,2, Pi,a,
P;,4, P.&, Pi,, , P4,5, P;,6, P&l). In this case, the actual umbra area is surroundedby the loop segments in a clockwise direction. Note that the areas surrounded ina counter clockwise direction are part of the penumbra, as shown by dotted areasin Figure 5. In Case B, one of the projected contour lines is the penumbra loop,
and the other one is the umbra loop. The obtained shadow loops are transformed
to the coordinate system of the image space and are stored.
If some edges of the side surfaces of the penumbra volume have no intersection
with the plane of the face S,, the polyhedron V should be stored for the otherprocess described in 4.2.2 because the penumbra loop can not be obtained.
4.2 Shading
Faces that are totally invisible from both end points of the linear source neednot have further shading calculations (& in Figure 7). Shading calculation isnecessary for faces that are visible from either end point of the linear source ( S1and S3 in Figure 7). When the plane including a face intersects with the linear
source, the face receives light from part of the linear source ( S3 in Figure 7). In
this case, the linear source is divided into two parts with the plane. The portionof the visible side of this face is treated as a new light source because the lightfrom the remaining portion is interrupted by the face itself.
ACM Transactions

on Graphics, Vol. 4, No. 2, April 1985.

.

T. Nishita, I. Okamura, and E. Nakamae

42

Fig. 7.

Classificationof faces for shading.

4.2.1 Illuminance Calculation of Unshadowed Portion. The method of calculating illuminance at an arbitrary unshadowed point P on the face S, is described
here. In Figure 8a, let L be the length of a linear source, Q an arbitrary point on
the linear source, p the angle between the vector PQ and the normal Nf of S,, fI
the angle between the vector PQ and the linear source, /’ the distance between
Q1 and Q, and r the distance between P and Q. When the luminous intensity perunit length of the source is expressed by I, the luminous intensity of the directionof angle 0 is I sin 0 because of Lambertian distribution.
Thus the illuminance E
at P from a linear source is expressed by

E=I

s0

L sin 8cos p de.
r2

The calculation of the illuminance is divided into the following three cases for
shortening the computation time. Let T be the unit vector of the direction of
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

Shading Models for Point and Linear Sources

l

135

ZA

(4
Fig. 8. Illuminance calculation for a linear light source.

linear source Q1Qz, S, the plane including P and perpendicular to T, Q/ theintersection of S, and the line including Q1and Q2, and rl, r2, and r, the distances
PQ, , PQ2 and P&, respectively, as shown in Figure Sb.
Case A: The linear source is parallel to S,. In this case 0 is equal to (7r - p).
The normal illuminance E, (i.e., the illuminance of direction PQ() can be obtainedby substituting (r - p) for 0 in eq. (5). Then the illuminance E can be obtained
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

136

-

T. Nishita, I. Okamura, and E. Nakamae

as E,ccos 6 where 6 is the angle between P& and the normal of S,. When Q1 andQ2 lie on the same side of S,, E is given by
E = (0.51/r,) I (Y~+ sin cyl cos CY~- (an + sin o2 cos az) ] cos 6.

(6)

If Qi and Qz exist on the opposite sides of S,, respectively, E is given by changing
the sign of CY~
or CY~
in eq. (6), where (Y~and a2 are the angles between PQ, andPQ,, and P& and PQ2, respectively. Let u&’ = 1, 2) be defined as tan (Y/ in
Figure 8b, then uY = F(S,, Q/)/l;. F(S,, Q/) is obtained by the inner product ofvectors, (Qp - P) . T, because S, includes P and the normal of S, is T. The terms
LU,-+ sin wcos CU/(! = 1,2) can be expressed by the functions of up, and cos 6 by
F(Sf, Ql)/rt. Thus, the illuminance E at P is given by
E = II e,(w)- en&) I

F(St, QJ
9
rl2

(7)

where e, (i.e., 0.5(ap + sin (Y/COSare)) is formally defined as:(

Ue,(u) = 0.5 tan-‘u + ~1+u2 ) *In the numerical evaluation of e,,(u), we want to insure some minimal error,
such as, less than 1 percent. For small values of u( ] u ] < 0.44), the error can bemost easily kept in bounds by using the following polynominal approximation:e,(u) = u(1 - 2/3 u2 + 3/5

u4

-

7/4

u6).

Case B: The linear source is perpendicular to S,. In this case p = 0, sin 0 =r//r and & = set 8 dr (see Figure 8c), then eq. (5) is expressed as‘2

E=Ir,/r” dr = I(rY2 - rg2) ;
s

r1

G-2

> rd.

Since r2 need not be greater than rl, the illuminance E is actually given as theabsolute value of the above equation. That is
E = 0.5 I I rT2 - rF2 I r,.

(8)

Case C: The cases excluding A and B. By transforming the world coordinates
so that the linear source coincides with the x axis and the yz plane includes thepoint P, it is possible to simplify the numerical integration in eq. (5) (see Figure8d). The computation time is reduced by giving the increment of numericalintegration Ax as a function of min(ri, r2)/L, because the farther point P is fromthe source, the larger Ax.
It is worth saving computing time in the first two cases (A and B), because
fluorescent lamps on a ceiling are usually perpendicular or parallel to the walls
and a floor.
In order to support specular reflection, it is necessary to adapt the Phongmodel [ll] which was developed only for point sources. In our system, the
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

Shading Models for Point and Linear Sources-

137

numerical integration method such as Case C can be available for the polyhedra
having specular reflection characteristics because the numerical integration canbe handled as a series of point sources.
4.2.2 Searching for the Shadowed Sections. On every scan line, a search forshadowed sections is made. Multiple polyhedra generally cast shadows on a faceS,, but for simplicity of explanation the shadow cast by a single polyhedron is
described.
As an umbra always exists inside a penumbra, the intersection of the penumbra
area and a scan line is searched for first. It is easy to test for this intersection
because each penumbra loop (see Section 4.1.2) always forms a convex polygon
in a clockwise direction. After the search for the penumbra, the search for theumbra area is executed. The umbra loop, however, is not always a convex polygon
and the umbra area consists of only those areas surrounded in a clockwise
direction by the umbra loop as mentioned in Section 4.1.2. As shown in Figure
9a, the umbra is a region surrounded by the edges of the umbra loop (except theedges common with the penumbra loop). Let the intersection points of the
penumbra loop and the scan line be PpJ and Pp,,. Because the umbra area isalways convex, the umbra on the scan line is obtained by cutting the segment
Pp,iPp,r with the edges surrounding the umbra and crossing the scan line. In
Figure 9a, the umbra on the scan line, the segment Pu,/Pu,r, is determined byclipping the segment P,,P,,, with the edges, PIP2, P2P3, P3P4, P5Ps, and P,P,.
On the other hand, if there are some edges of side surfaces of a penumbra
volume having no intersection with the plane of the face S,, the shadowed areas
have not been obtained as mentioned in Section 4.1.2. In this case, the following
process in object space is required. First, the segment which is the common partof the face S, and the scan plane formed by the viewpoint as well as a scan line
(in Figure 9b, segment P,,,P,,,) is obtained. The second step is executed byexpanding the algorithm used in the image space mentioned above. That is, thepolygons of the penumbra volume or umbra volume are used instead of the edgesof the penumbra loop or the umbra loop in image space, respectively. The
penumbra and umbra on the scan plane are obtained by clipping the segment
PpPf,, with those polygons. For simplicity, Figure 9b shows only a penumbra on
the scan plane (the penumbra segment Pp,ePp,,). Finally the segments of the
penumbra and umbra are projected onto the perspective plane.
4.2.3 IlluminanceCalculation in Penumbra Areas. A penumbra area is theregion in which the light from the source is partially interrupted
by several
polyhedra. Therefore, the illuminance at an arbitrary point P in the penumbra
is calculated by obtaining the visible parts of the linear source from P. These
visible parts act as the new sources to P.
Quantitative invisibility[ 11, used for hidden line elimination, is available fordetermining the visible segments of the linear source, where the quantitativeinvisibilityof a point on the linear source is defined as the number of front facesthat lie between the point and the viewpoint (the calculation point P is assumed
as the viewpoint). The segments whose quantitativeinvisibility
equals zero are
visible. In order to obtain the quantitativeinvisibility,
all convex polyhedra
casting shadows on point P are searched, and the contour lines of these polyhedra
observed from P are obtained. When these contour lines and the linear source
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

138

l

T. Nishita, I. Okamura, and E. Nakamae

penumbraloop

umbra loopinepenumbra volume

Fig. 9.
space.

Shadow on a scan line. (a) Shadow detection

on image space. (b) Shadow detection

on objectare viewed from P, the intersections between them are calculated because thequantitative invisibilityon the linear source changes only at these intersections;the calculation is executed in the object space by using the linear source and thepyramids consisting of the contour lines and P.
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

Shading Models for Point and Linear Sources

V'contour

line

l

139

of polyhedron

Fig. 10. A linear source viewed from calculation point for shading. (linear
Q,Qg is partially hidden by polyhedra VI, V, and V,).

sourceFigure 10 shows a linear source viewed from the calculation point P (in Figure
10, each number in the parenthesis shows the quantitative invisibility).
5. DISPLAY

OF ISOLUX CONTOURSThe halftone representations presented in this paper are realistic, but they do
not depict the value of illuminance.
This problem can be solved by displaying
isolux contours on the shaded image. Superimposing the color spectrum on ashaded image is effective for grasping the numerical results. This method, as firstpointed out by Christiansen [5], has been applied to display pressure, temperature, and so on.
A display method which superimposes the color belts of isolux contours on ashaded image is used here. These color belts and the perspective image arealternated, allowing observers to see the illuminancevalues easily and theperspective image in the same picture. The color of the isolux belt varies inproportion to the illuminance value. In this paper, the maximum value is assigned
to red.
The representation proposed here offers a useful tool to illuminationengineers
and architects, even though the consideration of indirect illuminance components
is neglected.
6. EXAMPLES
The examples for point sources with luminous intensity curves are shown in
Figure 11 (a)-(f); (b), (d), and (f) depict the illuminance distributionsof (a), (c)and (e), respectively. Pictures (a) and (b), are for interior lighting. The light’s
position coincides with the origin of the luminous intensity curve. Pictures (c)and (d), show outdoor lighting; the color of the lamps located at the front door,
the side gate, and the street lamps are simulated by a fluorescent lamp, an
incandescent lamp, and mercury arc lamps, respectively. The windows’ lights are
only simulated as colored windows.
Pictures (e) and (f), are depicted for comparison with the linear source, (g)and (h). The effect of penumbrae is very realistic.
ACM Transactions on Graphics, Vol. 4, No. 2, April 1985.

144*

T. Nishita, I. Okamura, and E. Nakamae

7. CONCLUSIONSThis paper has proposed two methods; one for shaded representation of threedimensional objects illuminated by point sources with axi-symmetricluminous
intensity distribution
and the other for linear light sources with Lambertianluminous intensity distribution.
The following conclusions can be stated from the results obtained.
(1) The illuminance for point sources and linear sources is calculated precisely,
and the reality of shaded representation is much improved. The procedure canbe applied to lighting designs.
(2) The introductionof the partial sphere of lighting decreases the number ofobjects needed for shadow detection.
(3) Three-dimensional
objects composed of a set of convex polyhedra simplify
the determinationof the volumes of penumbrae and umbrae needed for shadow
detection.
(4) The illuminance calculation becomes simple because searching for the areasof penumbrae and umbrae on each face is done before scanning for hidden surface
removal.
(5) Designers can easily grasp the global illuminance distribution by combining
isolux color belts with the perspective image.

Appendix
Al. Hidden Surface Removal
The outline of the procedure is as follows:(i) Project the vertices of polyhedra onto the perspective plane, and extract thefront faces of polyhedra.
(ii) Calculate the priority of visibility
for the overlapped polyhedra on theperspective plane. The overlap test is executed by means of the projected
contour lines of convex polyhedra and the depth at the intersecting point ineach contour is used to determine the priority.
(iii) Scan the perspective plane from top to bottom. Hidden surface removal oneach scan line is executed by using a technique similar to the painter’salgorithm [8].
A2. Determining Penumbra and Umbra Volumes
Let’s assume that the vertices PR(k = 1, 2, . . . , n) of a convex polyhedron V(nis the number of vertices of V), the contour lines Cf[Pp,l, . . , , Pp+, Pf,,+, . . .
P/,,] viewed from the end points of a linear source Q/(! = 1, 2), where np is thenumber of the vertices of the contour line, and the faces s/,i consisting of [Qr,
Q2, P,,,] where the symbol [ ] means the ordererd strings of vertices.
(1) Case A: This case occurs when both a vertex P/,i satisfying the eq. (9) anda vertex P/,, satisfying the eq. (10) exist.
F&i,
P/,1--1) 2 0,F(&,, , P/,,-1) 5 0,F(S/,i,PP,i+1)F($,,

P/,,+A

2 0,
5 0,

(9)
(10)

where /’ is 1 or 2, and eq. (9) (or (10)) means that all vertices of V lie on the
ACM Transactions

on Graphics,

Vol. 4, No. 2, April 1985.

Shading Models for Point and Linear Sources145

same half-space of the plane of ,!?F,i(~r s,,). We define the vertex satisfying theeq. (9) as PL and the vertex satisfying the eq. (10) as PR; PL and PR must be
common vertices of C1 and C2 (in Figure 5, Ci is [PI, Pz, Ps, Pd], Cz is [PI, P5,
Ps, Pp, P3, P4], PL is Pa, and PR is Pd. However, if the line segment Qi Qz andthe contour edges of V exist on the same plane, there are multiple vertices
satisfying eq. (9) and (10). In this case, two arbitrary vertices are selected for PL
and PR.
Using PL, PR, C1 and Cz mentioned above, the penumbra and umbra volumes
are defined as below.
The penumbra volume is the space surrounded by the following four types ofplanes:(i) The planes including Qi, and the adjacent vertices Pl,i and Pl++l which are
the elements of contour lines Ci and are counted in a clockwise direction fromPL to PR (in Figure 5, [Q1, P4, PI] and [Qi, PI, Pz] because PL = P4 and PR = Pz
as mentioned above).
(ii) The planes including Qz, and the adjacent vertices P2,, and Pz,,+l which
are the elements of Cz and are counted in a clockwise direction from PR to PI, (inFigure5, I&Z,Pz,&I and [Q2,Ps,Pd.
(iii) Two planes including

the vertices [Q2, Qi, PL] and [Qi, Qz, PR] (in Figure

5, [Qz,QI, PA and [&I, Qz,P21).

(iv) The faces of V which are completely
The umbra volume is surroundedvisible from the light source.

by the following

three types of planes;(i) The planes including Qi, and the adjacent vertices PI, and P1,+1 which are
the elements of C1 and are counted in a clockwise direction with respect to thelight source from PR to PL (in Figure 5, [Qi, Pz, P3] and [Qi, P3, PJ).
(ii) The planes including Q2, and the adjacent vertices P2,, and P2,,+, which
are the elements of Ce and are counted in a clockwise direction from PL to PR (inFigure 5, [QT,P4,PII, [Qz,PI, &A [Q2,h, Pd and [Qz,PG,PzI).
(iii) The faces of V which are visible from either one of the end points of alinear source.
(2) Case B: If Q2 exists within the pyramid formed by Q1 and C1, the penumbra
and umbra volumes are U2 and U,, respectively. If not, the penumbra and umbra
volumes are Ui and U,, respectively (in Figure 6, the penumbra volume is Ui).
In Case B, the projected contour lines, Cl and C6, never intersect each other,as shown in Figure 6.
ACKNOWLEDGMENT

We gratefully

appreciate the many helpful comments from the reviewers.

REFERENCES
1. APPEL, A. The notion of quantitativeinvisibility
and the machine rendering of solids. In
Proceedings of the ACM National Conference (1967), 387-393.
2. ATHERTON, P., WEILER, K., AND GREENBERG, D. Polygon shadow generation. Comput. Graph.
12,3 (Aug. 1978), 275-281.
3. BOUKNIGHT, W. J. AND KELLY, K. C. An algorithm for producing half-tone computer graphics
presentations with shadows and movable light sources. SEC, AFIPS, 36 (1970), l-10.
ACM Transactions on Graphics, Vol. 4, No. 2, April 1985.

146

-

T. Nishita, I. Okamura, and E. Nakamae

4. BROTMAN, L. S., AND BALDER, N. I. Generating soft shadows with a depth buffer algorithm,
IEEE Comput. Graph. Appl. 4, 10 (Oct. 1984), 5-24.
5. CHRISTIANSEN, H. N. Application of Continuous Tone Computer Generated Images in Structural Mechanics. Structural Mechanics Computer Program-Surveys,
Assessments, and Availability, University Press of Virginia, Charlottesville(1974), 1003-1015.
6. CROW, F. C. Shadow algorithms for computer graphics. Comput. Graph., 11, 2 (1977), 242-247.
7. GOURAUD, H. Continuous shading of curved surfaces. IEEE Trans. Comput. C-20, 6 (June1971), 623-628.
8. NEWELL, M. E., NEWELL, R. G. AND SANCHA, T. L. A new approach to the shaded picture
problem. In Proceedings of the ACM National Conference (Boston, Mass.) Aug. 1972, 443-450.
9. NISHITA, T., AND NAKAMAE, E. An algorithm for half-toned representation of three-dimensional
objects. If. Proc. Japan, 14 (1974), 93-99.
10. NISHITA, T. AND NAKAMAE, E. Half-tone representationof 3-D objects illuminated by areasources or polyhedron sources. In Proceedings of IEEE Computer Society’s International
Computer
Software and Applications Conference (COMPSAC83j (Chicago, Ill., Nov. 1983), 237-242.
11. PHONG, B. T. Illumination
for computer-generated
pictures. Commun. ACM, 18,6 (June 1975),
311-317.
12. VERBECK C. AND GREENBERG, D. A comprehensive
light-source
description
for computer
graphics. IEEE Comput. Graph. Appl., 4, 7 (July 1984), 66-75.
13. WARN, D. R. Lighting controls for synthetic images. Comput. Graph. 17, 3 (July 1983), 13-21.
14. WHITTED, T. An improved illumination
model for shaded display. Commun. ACM, 23,6 (June1980), 343-349.
15. WILLIAMS, L. Casting curved shadows on curved surfaces. Comput. Graph. 12, 3 (Aug. 1978),270-274.

Received October 1982; revised August 1983 and November

ACM Transactions on Graphics, Vol. 4, No. 2, April 1985.

1984; accepted May 1985