(Adapted from an article published in the IBM Technical Disclosure Bulletin, Vol. 40 No. 03 (March, 1997), pages 235-237.) If you use the IBM WebExplorer browser or a JAVA-enabled browser, you can view movies made using the method described below. Auto-generating Fractal MovieTimothy D. Greer Disclosed is a method for generating a looping animation resulting in the appearance of continuous magnification (or de-magnification) of a fractal. The method generates an animation based on a self-similarity relation intrinsic to the fractal itself and therefore avoids the need for special calculation and planning on the part of the user. The method creates a looping series of N digital images which, shown in sequence, display the effect of flying ever deeper into a fractal, specifically a fractal from the class representable by iterated function systems. The exposition that follows assumes that the fractal is defined as an iterated function system, that the range of the fractal is two-dimensional, and that the particular function the user chooses to scale with is an affine mapping. However, relaxing these assumptions -- to scale three-dimensional fractals, for example -- is generally straightforward, and the method described, suitably augmented, is still useful. A requirement which cannot be relaxed, however, is that the particular scaling function chosen must be invertible. Start with an iterated function system fractal defined with the J mappings
f , f , ... f
1 2 J
Select one of these mappings, say the ith mapping, to use for scaling.
As stated above, the mapping selected must be invertible.
By the (fractal) properties of iterated function systems, the image of
the entire fractal is contained in the range of f , and likewise in the
i
2
range of f (the composition of f with itself). These images of the
i i
2
fractal are distorted according to the functions f and f .
i i
The desired series of images is obtained by transforming the range of
2
f into that of f in a series of smooth steps, and mapping these
i i
regions into the desired display window to produce the actual pictures.
Because the function f used as the basis of the re-scalings is one of
i
the original fractal's mappings, the frame sequence generated will
align with itself end-to-end. So if the sequence were continued, the
N+1st frame would be the same as the 1st frame, N+2 would be the same
as 2, and so on. Thus the sequence can be shown repetitively and still
appear to flow smoothly. However, while the above procedure assures
smooth alignment between frames N and 1, two other sources of jerky
appearance need to be considered. One is the appearance in the window
of parts of the fractal not in the range of the function f . As these
i
parts may appear in the Nth frame but not in the 1st frame, their
sudden disappearance (or appearance, if the movie is shown backward)
is jarring. This problem usually can be eliminated
-1
by using higher powers of g in step two above, but if the range
i
of f overlaps with the range of some other mapping of the original
i
fractal, the result may be unacceptable. The resulting sequence will
align properly, but the outline of the desired fractal may be lost among
-1
points from its image under the mapping f , the inverse mapping.
i
Clever use of color can circumvent this problem and even turn it to
advantage. Poor use of color is the second potential source of
jerkiness. This disclosure covers only the procedure for producing
frames with proper alignment, and will not address color.
References
|