Compositing

3D Images with Antialiasing
and Various Shading Effects
Eihachiro Nakamae
Hiroshima University
Takao Ishizaki
Daikin Industries, Ltd.
Tomoyuki Nishita
Fukuyama University
Shinichi Takita
Kagawa UniversityAdvances in 3D rendering techniques have given rise
to a variety of geometric models and shading models:
polygonal objects, curved surfaces, and fractal faces,
reflection, refraction, transparency, texture mapping,bump-mapping,fog effect, and various types of lightsources. To process all these models in a single programis usually difficult. That is, the program becomes large
and complex, it requires tremendous time to develop,
March ISRS

0272.1716/89/0300-0021$01.00

and as the amount of data becomes large, it becomestroublesome to check. Subdividing the processing so that
it is performed by a collection of separate programs canlead to a more flexible and more easily maintained
system.
To address this problem, Whitted and Weimer’ proposed a flexible scan-conversion processor that cansimultaneously display several different surface types on
1989 IEEE:! 1

capabilities in addition to those available in previously
developed systems:
1. Antialiased
do = 116d,=1/3

al scanlined,=1/3d,=1/6

Figure 1. Density
the multiscanningcalculation
method.

for pixel ABDC, using

an image. This is designed to be a “test-bed” that can easily incorporate a variety of user-defined techniques. Data
passed from the scan converter to the shader can berouted through a “span buffer.” In the span buffer, allsegment information (e.g., intersections between polygons and scanlines, and depths at each intersection) on
every scanline is stored. Visible-surface processing andvarious shading effects are carried out on the data in the
span buffer. This method can display high-quality
images.
Crow* divided the display process into scene analysis
and object rendering. A supervisory process determines
the priority of objects, and the image is produced by overwriting objects into a frame buffer. This system can also
merge different types of objects into an image.
Porter and Duff 3 proposed a cornpositing method
adding a mixing factor (called an alpha-channel) to thecolor channels. This method can easily produce composite images with pixel-by-pixel antialiasing. However, it
requires the priority of images to be manually entered.
To overcome this drawback, Duff’ added z-values to thefour channels. However, the z-values apply only to thecorner of each pixel. In addition, these two methods do
not apply when the edges of multiple polygons project
onto a single pixel.
For various types of texture mapping, Perlin developed
the Pixel Stream Editor.’ In this system the stored image
contains the surface number, 3D coordinates, and surface normal at each pixel. In this way many types of texture mapping are easily processed by the PSE.
These developments indicate that the notion of separate modules is an excellent way to create complex
scenes and handle many types of objects-composite
images with antialiasing, map textures, fog effect, etc. A
general-purpose processor should have the following
22

images with scaling: Zooming is sometimes used in animation. In CAD systems, scaling ofa generated image is useful for displaying details of
shapes. For shape design, independent stretching in
the vertical and horizontal directions is useful.
Therefore, it is desirable not only to composite
images but to be able to scale the composited images.
Whitted’s method displays high-quality images byusing an antialiasing tiler such as Catmull’s,’ but
the antialiasing process is complicated. Methods
uiing alpha-channel are simple because of the pixelby-pixel nature of the processing. However, none ofthese methods can composite images with scaling.
In this article we perform antialiasing based on themultiscanning
method,’ with visible faces stored
for each sub-scanline. That is, sufficient data isstored to display antialiased images with arbitrary
scaling factors.

2. Variety of light sources: For lighting design, it isnecessary to display many types of light sources in
an image. The shading effect due to skylight is useful for realistic images in building design. In animation systems, light sources are changed or moved
frequently. Our method can add these various shading effects to composited images.
3. Local processing: The ray-tracing algorithm is usefulfor treating transparency and refraction, but it iscomputationallyvery expensive. For composite
images, our method can perform ray tracing on
restricted local areas of the image, tremendously
reducing computation time.

Cornpositing

method with antialiasing

The method we propose can composite any numberof images with hidden-surface removal, and display thecomposited images with antialiasing.
The images can also be scaled up or down withantialiasing. In this section we describe an antialiasing
method and a data structure for processing antialiasing.
Antialiasing
using a multiscanning
methodThere are useful antialiasing methods, such as increasing sampling density8 and the area sampling methods
accounting for the contribution of the visible portion ofeach face.‘j We use here the multiscanning method wedeveloped earlier.’ Below we briefly describe this areasampling method.
For antialiasing, the intensity of each pixel is determined by the area occupied and intensity of image polygons projected onto the pixel. As shown in Figure 1, thearea of a pixel occupied by a polygon (i.e., S,) is approximated by trapezoidal integration as follows: We assume
that a scanline is divided into n virtual scanlines, called
IEEE Computer Graphics & Applications

sub-scanlines. When the length of the intersection segment between sub-scanline G, and face S, is L,,,(j=O,1,2 ,..., n), the area of face S,, (the hatched area in
Figure l), A,, is approximated by*=(L,,o+Ln.“)

m

I”-’

2n

--++‘Lm~j

The intensity of the pixel is determined by the productof this area and the intensity of face S,. In many cases
multiple polygons will be projected onto a pixel. The
intensity of pixel i, C,, is obtained by
C, = idj. C’,,,

a visible segments on a virtual scanline

(2)

j-0

where

6=&n)
dj =
(O<j<n)where d, is a weighting factor (see Figure 1) and Iris theintensity of face Sr (f=l,Z,...,m: m=number of faces).
This equation indicates that the intensity of a pixel isachieved by summing the intensities of the sub-scanlines
with weighting factors. Some sub-scanlines may contribute to two adjacent actual scanlines.
Image data structure
The visible segments on each scanline are stored so
you can apply the antialiasing method discussed above.
The depth of each visible segment is also stored for use
in compositing images (see the later section on compositing 3D images). After hidden-surface removal, the following are stored for each sub-scanline:
1. The intersections
scanlines.

between visible faces and sub-2. The face number and intensity at each intersection.
3. The depth at each intersection
ments per pixel).

and its slope (incre-

Also, for the entire image
4. A color table for faces.
5. The coordinates of vertices of faces.
The intensity stored (see item 2 above) is due to a parallel light source, because this method produces a uniform intensity on each face and we can avoid storing data
for each pixel. At the intersections between shadows andMarch 1989bspan buffer

Figure 2. Image data structure.

sub-scanlines the intensities change, so these intersections are also stored. For other types of light sources, theshading effects are calculated when the images are composited (see the section on shading effects due to various types of light sources), using the 3D vertices of faces.
In this article curved surfaces are represented by triangle patches, and the normal of the surface at each vertex of each triangle patch is also stored.
Figure 2 illustrates the method used to store visible segments. The memory requirement is proportional to thenumber of intersections between faces and scanlines; i.e.,
it depends on image complexity. This method is equivalent to compressing data by run-length code, and it ismuch more efficient in use of memory than storing data
for each pixel.
Regenerationof images

In this section we discuss cornpositing of images. We
assume that the process is done from top to bottom. First,
the sub-scanline number j is set to 0, C, and C’,
23

Definition
xk: coordinate
scanlineof symbolsof the kth intersection(k=1,2,...,m:on a sub-m = number of intersections)

j: sub-scanline number (j=O,l,...,n:virtual scanlines per pixel)

n=numberofC,: intensity of theith pixel on ascanline(i=1,2,...,N:
N=the number of pixels on a scanline)

Figure 3. Intensity

calculation

using antialiasing.

C’,: intensity of the ith pixel on a sub-scanline
Equation 2)
dj: weighting

factorck:

Of the face Containing

intensity(see

for the jth sub-scanlinexk(i=1,2,..., N) are initialized, and the following process isdone for each scanline (the symbol “[ I” indicates truncation):

Regenerationof images with scaling
Scaling is often used in animation and CAD systems.
2. Execute the following process for each span
The scaling proposed here allows magnifying or reduc(Xk,Xk+I).
ing with antialiasing.
Scaling in the x direction is easily done by computing
if [xk]=[xk+l] thenthe product of T, (the x direction scale) and the coor(3)c’i=c’i + (Xk+l - Xk)c&(i=lxkl)
dinates of intersections. However, for scaling in the y
direction, the following computation is required: If anelse
image is stored using n, sub-scanlines per pixel, it canbe displayed at vertical scale T, with n,/T, sub(4) scanlines per pixel. However, n, the number of subc’i=c’i + ([Xk]+l- X & &(i=lxkl 1(5) scanlines per pixel in the scaled image, must be an
c’i=(Ji + (&(I%1 <i+Q+ 11)(6) integer. We set
c’i=c’i + (~+l-l~+ll)Q(i=lxk+ll)
1. Read intersections(if [xk]=[xk+l]xk (k=1,2 ,..., m).

-1 then equation 5 is unnecessary)(7)

3. Ci =Ci +diC’i(i=1,2 ,...,N).

4. If j < n then j = j + 1, return to step 1.

5. Output Ci tO CRT.
6. Ci=d,C’i,C’,=O(i=1,2,...,N),j=l

andreturntostepl.

Step 2 can be explained as follows: If xk and xktl lie inthe same pixel (e.g., x1,x2 in Figure 3), (xktl -xk) is theweighting factor for intensity calculation. If not, for the
pixel including xk (e.g., xg in Figure 3) the weighting factor is ([xk]+l-xk), and for the pixel including xk+l (e.g., x4
in Figure 3) the weighting factor is (xktl -[xk+J). For
other pixels the weighting factor is 1.
Even when multiple polygons project onto a pixel, theimage can easily be reproduced using this algorithm.
24

where I, is the scanline number. For example, for n, = 3
and T, = 1.2, the numbers of sub-scanlines for each scanline are 2, 3, 2, 3 ,.... For T, =0.8 they are 3,4,4, 3,4,4 ,....
For n, = 3, we can enlarge as far as triple size, with goodquality until double size. We can select any large scaling
factor when we use large enough n,.
This method performs zooming and panning easily,
without repeating hidden-surface removal, which makes
it very useful for animation.
Cornpositing
3D images
When there are multiple stored images, these images
can be combined with hidden-surface removal by using
the z-values of each image. Image data (i.e., visible segments) are stored sub-scanline by sub-scanline, andIEEE Computer Graphics & Applications

hidden-surface removal can be done by a scanline algorithm such as Watkins’s algorithm, which allows polygons to intersect (see Figure 4).
Consider a composite image c formed by two imagesa and b. We prepare span buffers A, B, and C for images
a, b, and c, respectively. The process is carried out subscanline by sub-scanline, reading A and B, and writing
C. An antialiased image is obtained by applying the process described in the section on antialiasing to the buffer
C. If there is a third image, we can get the composite
image by setting C to A and the third image to B, andrepeating the above process. By using these three buffers
cyclically, multiple images can be easily cornposited.
Figure 4 shows two images, a and b, and the composite image c. In Figure 5 a, b, and c show a representative
scanline with perspective depth for each face for thesame images. (In this article, perspective depth decreases
with distance from the viewpoint). We assume that thebackground (for spans where there is no visible segment]
consists of a plane whose z is a large negative value.
Using this assumption, each of the images a and b haveexactly one segment in each sample span. Thus, combinations of these segments are limited to three cases asshown in Figure 6, allowing easy hidden-surface
removal. In this example, the bold lines in Figure 6 arevisible segments.
Because our hidden-surface removal method has timecomplexity proportional to the square of the number offaces, it is more efficient to operate on clusters of object
data and composite the results.

Shading effects due to various types oflight sources

Image aFigure 4. Composition of two images.

‘11

In our system, many types of light sources-such as
point sources, linear sources,’ area sources, polyhedral
sources,“’ and skylight”-areavailable in the shading
processor.
The system allows the light sources (including lighting
directions, types of light sources, luminous intensity, andcolors) to be freely changed at the display stage, while theviewpoint is fixed. Intensities due to a parallel lightsource are stored and may be immediately displayed.
When the lighting conditions are changed, intensities
must be recalculated, but not hidden surfaces. In manycases a broad range of shading effects, such as linear or
area light sources, are required, particularly for lighting
design.
In the proposed method, the cornposited image
obtained as described in the section headed “Compositing method with antialiasing” contains information
about visible faces and their depths. Therefore, various
shading effects can easily be added. Fog effect can be calculated using only depths. For other shading effects 3D
coordinates at each pixel and information about all polyhedrons are required, but again these can easily be

Image himagea

I+
,

I
/
/

/
1
I

j
I
I
/

/
3

back groundimage b,sample span’

/

I

/
I

/
I

I
I

‘1;

imagec

I
i-4

I

I
I
I

II

Figure 5. Depths of segments on a virtual scanline.

Ix I
II
I

I

b

I
I

executed first for the visible faces of a only, then for thoseof b, resulting in reduced memory requirements andincreased speed.

I
I

Local processing

I
I

I
c

Figure 6. Visibility
test in sample span, showing
not crossing, (b) crossing, and (c) overlap.

I(a)Because the visible faces are available, the following
refinements can be calculated for selected faces. After
displaying a rough image on a CRT, the image is
improved by performing these processes in restricted
regions. Antialiasing against a background can easily bedone by blending pixels from an image displayed on the
CRT and the colors arrived at by the method describedin the section headed “Regeneration of images.”

Local ray tracing
applied using the depth of visible segments and screen
coordinates.

Illuminancecalculation

Consider a scene that contains many types of lightsources. The calculation for each type of light source isusually different. If a single program includes all typesof light sources, it becomes unmanageably large. Intensity at each pixel can be achieved by summing the intensity of each light source. Using the same compositedimage data repeatedly, we can get shading effects byindependently calculating each light source. In thismethod, the visible faces are already known, so the shading effects due to multiple light sources are achieved with
only one execution of hidden-surface removal.
By subdividing the program into hidden-surface
remover and shader, various shading effects can easily
be added.

Shadow processing
In the previous cornpositing methods only Whitted
and Duff calculated shadows.‘14 They used Williams’s
method,‘* a z-buffer algorithm with the viewpoint at thelight source. In this method, light sources are limited toa parallel source or a point source, and the position of
the point source must be outside of the field of view.
For arbitrary light-source position or various types oflight sources, using shadow volumes is helpful, andadding precalculation of shadow boundaries on visible
faces is more useful. In these processes, however, thememory requirement for shadows becomes enormous
when the number of objects is large. To overcome thisproblem, objects are divided into clusters, and the process is done cluster by cluster. For each cluster, shadowscan be detected by using only those shadow volumes
casting shadows on the visible faces of this cluster. For
example, consider shadow processing after compositionof images a and b. The visible faces for each image are
obtained using the method described in the section oncompositing 3D images. Then shadow detection is26

Ray tracing is commonly used to represent transparency and refraction, but this method spends tremendous time detecting intersections between the ray andobjects. If only a few objects need to be processed by ray
tracing, ray tracing the entire screen is inefficient. To
avoid this problem, a method using a z-buffer algorithm
as a visible-surface preprocessor has been developed.13
However, using this method, it is difficult to memorize
areas of polygons within a pixel. Our method stores all
visible faces within all pixels, so it can be used as apreprocessor for ray tracing. In this article we use ahidden-surface removal method combining scanline processing and ray tracing, which we developed earlier.14 A
reserved face number is used to indicate that a face is to
be ray traced. When the scan converter encounters sucha face, it invokes the local ray tracer for each pixel coveredby the face. For efficient calculation the following are
considered:
1. The shadow process is done by precalculation

shadow boundaries

ofon faces, not pixel by pixel.

2. The environment is subdivided hierarchically;bounding boxes for each level of objects are used
and a hierarchical description is also used forshadow volumes.
3. Curved surfaces are subdivided into
patches to apply the scanline algorithm.

triangle

Texture mapping
Various types of textures-suchas color maps, bumpmaps, reflection maps, and transparency maps-can be
added to the composited images. Texture mapping
generally requires the entire texture map to be present
in memory simultaneously. By appropriately decomposing into separate images, each of which requires only one
or a small number of textures, and compositing later, thenumber of texture maps required to be simultaneously
present in memory can be reduced, thus reducing theIEEE Computer Graphics & Applications

total memory requirement.
Furthermore, the proposed method can add such complex objects as trees and grass to the composited image
with hidden-surface removal. In Cook’s shade trees,l’these objects are generated by another program and displayed by creating a texture mapped onto a transparent
polygon (in this method, cornpositing is performed by
the alpha-channel method”). However, modeling theseobjects is time consuming. To overcome this problem, we
use an image of a tree extracted from a photograph andmap it onto a transparent polygon. For presenting eachtree, the transparent polygon is placed standing vertically with its normal facing the viewpoint. When thesetrees overlap on the screen, hidden-surface removal isdone from the nearest transparent polygon by ray
tracing.
Shadows and reflections of trees can also be processed. For shadow calculation, the transparent polygons are rotated to face the light source, and for reflection
mapping, they are rotated to face the reflecting surface.
These calculations are possible because the intermediate representation includes 3D information about visible faces and depths.

Backgroundprocessing

Because the area where the background is visible is
known, a background picture can be inserted withantialiasing. Similarly, clouds generated by a separate
program can be inserted in the sky.

posited. Part of the building was produced by a program
handling curved surfaces, and other parts were
produced by a program dealing only with polyhedrons.
In picture (d), fog effect is added by using stored
depths. Picture (e) shows the same scene as (d) at night.
The building is illuminated by five floodlamps at eachcorner where the actual luminous intensity characteristics of the planned lamps were used in the calculation.
Picture (f) is an example of fleecy clouds. In this pit:ture the building and cars are composited. After composition, we can add texture mapping and shading effects.
The shading effects under fleecy clouds are due to a combination of clear skylight (i.e., a hemispherical lightsource with large radius”) and weak direct sunlight (i.e.,a parallel source). Note that penumbrae due to skylightare displayed.
Pictures (c) and (f) are stills from an animated film entitled “CG Town” (SIGGRAPH 87 film and video show).
Frames of the animated film are not antialiased to savetime in producing animation, so pictures (c) and (f)exhibit aliasing. In the film, the intensity of skylightvaries from overcast sky to clear sky, cars move, andcolors of leaves change. All these effects were calculatedusing the methods described in this article.
Picture(g) is an example of lighting design. The room
is illuminated by two types of light sources, a polyhedral
light source and the light from the window, an areasource.
All examples were calculated using supersampling of
three virtual scanlines per scanline. Computing statistics for (c), the most complex image among the examples,
are as follows:

Example and conclusion
Figure 7 shows some examples which demonstrate theproposed system. Picture (a) shows an example of scaling (upper left is the original). We can manipulate height
and width for shape design, executing visible surface
processing only once.
Pictures (b) and (c) are examples of the use of image
cornpositing as a tool in urban planning (Osaka, Japan).
In these images, buildings, trees, and cars were produced
separately, then cornposited. The reflections in windows
are processed by local ray tracing. For moving objects,
such as cars, the cornpositing is done by recalculating
only moving elements.
In picture (b), the leaves of the artificial trees are
expressed by a set of triangles, while in picture (c), textures extracted from an actual photograph are used,yielding a more realistic image. Note that the shadowsand reflections of the textures of the real trees are also
very realistic. This method can be applied in urban planning to simulate views including various types of real
trees.
Pictures (d) and (e) are examples of estimation ofenvironmental impact due to a new building. In thisexample, the building and the city background are comMarch

1989

Computer:Tosbac Data System 600/80 (2.8 MWIF’S)

ImageComplexity:

870 polygons

2359visible faces
ImagecalculaIedin four clusters:
Size of Intermediatebuildings, roads, trees, cars

Representation:
Compute 1 cluster:Final Composite:

353 kb per cluster, average
2.8 mins
26.8 mins (including ray tracing)

As shown in these examples, the ability to add various
shading effects leads to heightened realism, as well as anmore convenient framework for development .

Acknowledgments
We thank Bonnie Sullivan for developing the programfor extraction of trees from photographs, and for carefully reading and commenting on this article.
27

References
I. ‘I: Whitted and D.M. Weimer, “A Software Test-Bed for the Development of3D Raster Graphics Systems.” Computer Graphics (Proc.
SIGGRAI’II).
Vol. 15. No. 3, Aug. 1981. pp. 271.277.

9. T. Nishita, T. Okamura. and E. Nakamao, “Shading blndels for
Point and Linear Sources,” AC&l Trans. Grtrphics, \‘ol. 4. No. 2. Apr.
1985. pp. 124-146.

2. F.C. Cro\v, ‘A More Flexible Image Generation Environment,”
Computer. Graphics (Proc. SIGGKAI’H). Vol. 16. No. 3, July 1982,
pp. Y-18.

K~~I~r~:~(~~~t;llir)~~c~f 31)
10. T. Nishitn and E. Nakamae. “ll;~llX~nt:
Objects Illuminatedby Area Sources or I’olyht:clrc)n Sourcrx“IEf+;E Proc. COMPSX
83, (microfiche
only). (:S Press. 1,11s
Alamitos, CalIf.. 1983. pp. 237.242.

3. ‘I: Porter and T. Duff, “Cornpositing
Digital Images,” Computer
Graphics (Proc. SIGGRAPH), Vol. 18. No. 3, July 1984, pp. 253.259.
4. T. Duff, “Compositing 3D Kendered Images,” Computer Graphics(Proc. SIGGRAPH), Vol. 19. No 3. July 1985. pp. 41-44.
5. K. Perlm. “An Image Synthesizer.” Computer Graphics (Proc. SIGGRAPH], Vol. 19. No. 3. July 1985, pp. 287-296.
6. E. Catmull, “A Hidden-Surface
Algorithm with Antialiasing,”(Computer Grclphics (Proc. SIGGRAPH), Vol. 12. No. 3, Aug. 1978,
pp. 6-11.

11. ‘I’. Nishita and E. Nakamae, “Continuous Tone Kepresentation IIf
Three-Dimensional
Objects Illuminated by Skylight.” ~;OnlJ.‘Llhxr
Grnphics (Proc. SIGGRAPH). Vol. 20, No. 4. Aug. 1986. pp. 125-132.
12. 1,. Williams, “Casting Curved Shadows on (Zurvt:d Surfaces,” Coralputer Graphics (Proc. SIGGRAPH), Vol. 12. No. 3. Aug. 1978. pp.
270-274.

7. T. Nishita and E. Nakamae. “Half-Tone Representation of 3D
Objects
with Smooth Edge by Using a Multi-Scanning
Method,”J, Information Processing (in Japanese), Vol. 25, No. 5, Sept. 1984,
pp. 703-711.

14. E. Nakamae, K. Tadamura. and T. Nishita, “HalfX>n~~ Represer~tation Using Local Ray Tracing,” J, Informutron J’rocossing (in Jai)anese), Vol. 27, No. 11, Nov. 1986. pp 1077-1085.

8. F.C. Crow, “A Comparison of Antialiasing
1, No. 1, Jan. 1981, pp. 40-48.

15. R. Cook, “ShadeTrees,” ComputerGrc~phic:s(I’roc:.
Vol. 18, No. 3, July 1984, pp. 223-231.

Techniques,” X&A,

Vol.

Eihachim Nakamae is a professor at Hiroshima
Universitv where he was appointed as research
associatein 1956 and professor in 1968. He wasan associate researcher at Clarkson College ofTechnology, Potsdam, N.Y., from 1973.1974. His
research interests include computer graphics
and electric machinery.
Nakamae received the BE, ME, and DE degrees
in 1954,1956, and 1967 from Waseda University.
He is a member of IEEE, IEEE Computer Society, IEE of Japan, II’S of Japan. and IECE of Japan
Nakamae can be contacted at the Fat.ulty of Engineering.
I:niversity, Saijo-cho. Higashi-Hiroshima,
724 Japan.

Hiroshima

SIGCKAPH).

Tomoyuki Nishita is an associate professor In
the Department
of Electronic
and ElectricalEngineering at Fukuyama University, Japan. He
was on the research staff at Mazda from 1973 to
1979 and worked on design and development ofcomputer-controlled
vehicle systems. He joined
Fukuyama University in 1979. Since April 1988
he has been a visiting professor and research
associate in the Engineering Computer Graphics
Laboratory at Brigham Young University. His
research interests involve computer graphics, including lighting
models, hidden-surface
removal, and antialiasing.
Nishita received his BE, ME, and PhD in engineering in 1971,1973,
and 1985, respectively, from Hiroshima University. He is a membl:rof ACM, IPS of Japan, and IEE of Japan.
Nishita can be contacted at the ECGL. Brigham Young Llniversity.
368 CB, Provo, Utah 84602, through the end of March 1989. and at theFaculty of Engineering, Fukuyama University, Sanzo Higashimur+cho, Fukuyama, 729-02 Japan from April on.

Takao Ishizaki is a system engineer

in theEngineering and Development Department of
the Electronics Division, Daikin Industries, I.td.
His research interests include computer graphics
and its applications.
Ishizakireceived
the BS in electronics
engineering and the MS in system engineeringfrom Hiroshima University.

Ishizaki can be contacted at the Engineeringand Development Department. Electronics Division, Daikin Industries, Ltd., Box 37, Shinjuku-Sumitomo-Bldg.,~-6-l. Nishi-Shinjuku.
Shinjuku-ku, Tokyo, 163 Japan.
March

1989

Shinichi Takita is a professor in the Departmentof Education at Kagawa University, Japan. His
research interests include computer graphic:sand CAI.
Takita received his BE and ME degrees in electrical engineering from Hiroshima finiversity in1964 and 1966, respectively. He is a member of
the IEE of Japan and the Japan Society of Industrial and Technical Education.

Takita can be contacted at the Faculty of Education.
versity, l-l, Saiwai-cho Takamatsu. 760 Japan.

Kagawa Uni-

29