Multi-scale stochastic modelling of complex natural phenomena

The visual simulation of natural phenomena is important in areas such as flight simulation, scientific visualization, entertainment and fine arts. An important aspect of natural phenomena is that they appear and behave differently at various scales. We propose to decompose the description of a phenomenon into smooth scales and turbulent small scales. This decomposition is natural in both the design and the numerical simulation of the phenomenon. The smooth scales permit a user to choreograph certain effects, while the smaller scales add visual complexity. We have found that many phenomena can be controlled using motion fields. A user specifies the general behaviour of a particular phenomenon by using a superposition of simple smooth fields. To achieve complex motions the animator has control over a random vector field whose parameters are derived from a statistical model of turbulence. We provide algorithms to generate realizations of turbulent vector fields from their statistical description. We have generalized these algorithms to random functions of arbitrary dimensions. The effect of the motion fields on various physical quantities is in many cases described by an advection-diffusion equation. We propose efficient methods of solution of these type of equations by representing the physical quantities on a set of unordered points, rather than on a regular grid. Examples of phenomena which were simulated in this manner include: densities of gas particles, temperature fields of flames and hair filaments. The appearance of these phenomena is characterized by the interaction of light with an absorbing, scattering and emitting density field. We provide efficient algorithms to compute these effects in general environments. In particular, we approximate the phenomenon of multiple-scattering within the density as a diffusion process. We also propose a general methodology, which we call stochastic rendering to render complicated phenomena modelled by random functions. Instead of first synthesizing a realization of the phenomenon and then render it, we synthesize a realization of the (random) intensity field directly. We apply this methodology to the rendering of complex density fields such as clouds.