June 1982 - Vol. 25 No. 6
Features
Modularity and the sequential file update problem
The best-known solution to the sequential file update problem is the balanced-line algorithm. Here, the problem is solved using abstract data types and the resulting Cobol program illustrated. It is suggested that the program's modular decomposition aids in the development of the solution.
Reducing dictionary size by using a hashing technique
Peterson [3] described a variety of techniques to implement a spelling checker for plain-language documents and discussed the central importance of the structure and size of the dictionary used by such a program. The technique presented here can produce a compact, easily accessed and modified dictionary. This is done by exploiting two characteristics of the spelling checker: the sole use of the dictionary is to determine whether given strings are, or are not, in the dictionary; and a small, but nonzero probability of error is acceptable in many applications. Many other types of programs have similar characteristics and could use this concept equally well.
Computer rendering of stochastic models
A recurrent problem in generating realistic pictures by computers is to represent natural irregular objects and phenomena without undue time or space overhead. We develop a new and powerful solution to this computer graphics problem by modeling objects as sample paths of stochastic processes. Of particular interest are those stochastic processes which previously have been found to be useful models of the natural phenomena to be represented. One such model applicable to the representation of terrains, known as “fractional Brownian motion,” has been developed by Mandelbrot.
The value of a new approach to object modeling in computer graphics depends largely on the efficiency of the techniques used to implement the model. We introduce a new algorithm that computes a realistic, visually satisfactory approximation to fractional Brownian motion in faster time than with exact calculations. A major advantage of this technique is that it allows us to compute the surface to arbitrary levels of details without increasing the database. Thus objects with complex appearances can be displayed from a very small database. The character of the surface can be controlled by merely modifying a few parameters. A similar change allows complex motion to be created inexpensively.