of

Fractal Objects

Jean-François COLONNA

CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641, École polytechnique, Institut Polytechnique de Paris, CNRS, 91120 Palaiseau, France

france telecom, France Telecom R&D

[

[

[

(CMAP28 WWW site: this page was created on 07/16/1997 and last updated on 04/16/2023 20:49:12 -CEST-)

(published in

- 1-INTRODUCTION
- 2-THE SUPERPOSITION OF INDEPENDENT n-DIMENSIONAL MESHES
- 3-ANIMATION OF FRACTAL OBJECTS
- 4-CONCLUSION
- APPENDIX
- FRACTAL PICTURE GALLERY

- {V(1),P(1,2),P,P(4,1),V(1)},
- {P(1,2),V(2),P(2,3),P,P(1,2)},
- {P(2,3),V(3),P(3,4),P,P(2,3)},
- {P(3,4),V(4),P(4,1),P,P(3,4)}.
- the geometry of the meshes,
- the interpolation function,
- the random generator,
- and finally the mapping function between meshes and space coordinates.

Then the process is iterated recursively for each new quadrilateral; at the end, we obtain an irregular surface. This process frequently shows artefacts (like creases of slope discontinuities [2]) and cannot model easily smooth terrains.

With this two-dimensional example, it may be seen that this method gives us four "degrees of freedom":

Two interpolation functions have been implemented: bi-linear and bi-cubic. When used with meshes such that:

size(M(k-1)) size(M(k)) = -------------- 2and such that one vertex of M(k) coincide with one vertex of M(k-1), the bi-linear interpolation can simulate the subdivision algorithm; but unfortunately, this method (the fastest) shows clearly slope discontinuities, when the bi-cubic one looks more realistic.

size(M(1)) > size(M(2)) >...> size(M(k)) >...> size(M(m)).It is important to notice that this family is not obtained with a recursive subdivision and that all its elements are independent. Let RDN(x(1),x(2),...,x(n),k,S) be a random generator; its arguments are the coordinates {x(1),x(2),...,x(n)}, the rank k of the current mesh M(k) and a seed S.

Fk(x(1),x(2),...,x(n),k,S) = RDN(x(1),x(2),...,x(n),k,S)if the point {x(1),x(2),...,x(n)} of E is a vertex of the current mesh M(k), and:

Fk(x(1),x(2),...,x(n),k,S) = Interpolation(RDN(X(1),X(2),...,X(n),k,S))computed for all adjoining vertices {X(1),X(2),...,X(n)} otherwise.

Here again, the Interpolation function is an arbitrary one: it can be a n-linear one using the 2^n nearest nodes, a n-cubic one, or again, any other function. This is just another parameter...

k=m ----- \ F(x(1),x(2),...,x(n),S) = / p(k).Fk(x(1),x(2),...,x(n),k,S) ----- k=1where p(k) is a ponderation factor such that:

p(1) > p(2) >...> p(k) >...> p(m).The way p(k) is defined is arbitrary, but can be chosen, for example, proportional to the volume of the elementary cell of the mesh M(k).

x --> x(1), y --> x(2), t --> x(3).Figure shows sixteen frames from a terrific (because of the amplitude...) earthquake simulation. Each of the "instaneous" mountains is obtained with a two-dimensional cross-section inside the three-dimensional fractal field at t=x(3)=constant; then this "sub-field" is visualized as a three-dimensional surface.

x --> [x(1) + dx(1,x(3))] modulo L xwhere the vector {dx(1,x(3)),dx(2,x(3))} is used to simulate the effect of the wind in the (x,y) plane, and the modulo operators are here to allow the generation of periodic sequences. Figure shows us a complex scene: a fractal mountain obtained by the preceding method of superposition, with three two-dimensional fields of clouds with a wind blowing from the right to the left:

y --> [x(2) + dx(2,x(3))] modulo L y

t --> [x(3)] modulo L t

dx(1,x(3)) = -PositiveValue.x(3), dx(2,x(3)) = 0.This simulation was only three-dimensional in order to reduce the computing time. About the shadows, the ones relating to the mountains are correct, when the ones relating to the clouds are simulated (due to their two-dimensionality...) with a texture mapping approach: at time t, a texture using the clouds at time t+Dt (Dt << Lt) is computed and then mapped onto the mountain surface.

display(mountain(fractal_nD(parameters),parameters),parameters);or again, as a string of piped commands:

fractal_nD parameters | mountain parameters | display parametersIn both case, a N-dimensional fractal field is computed and displayed as a three-dimensional surface.

[More information -en français/in french-]

- [1] A. Fournier, D. Fussel, L. Carpenter, Computer rendering of stochastic models, Communications of the ACM, 25, 6, june 1982, pages 371-384.
- [2] G. Miller, The definition and rendering of terrain maps, Computer Graphics, ACM SIGGRAPH, 20, 4, august 1986, pages 39-48.
- [3] JF. Colonna, M. Farge, L'expérimentation numérique assistée par ordinateur, La Recherche, 187, april 1987, pages 444-457.
- [4] JF. Colonna, Visualization, Computer Graphics World, december 1987, pages 40-44.
- [5] JF. Colonna, Picture synthesis: an essential tool for numerical experimentation, Computer Physics Communications, 49, 1988, pages 215-228.

Copyright © France Telecom R&D and CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 1997-2023.