In this section we will discuss details of the implementation developed. All code discussed has been developed using OpenGL, GLUI, and C++ and has been written and tested on an 800MHz PentiumIII with 256Mb RAM and a Geforce2 graphics
accelerator. A version of this implementation is also available for UNIX.
7.1 DATA STRUCTURE
The fields we have in this simulation are humidity, heat, and condensation. In order to keep track of the different fields (e.g. humidity, condensation) that are being advected within our simulation, we have developed a data structure which contains the relevant information for each field. This data element is called a `Field' and contains a pointer to the three-dimensional grid structure that contains the mass distribution for the current field, as well as a pointer to the velocity field being used. Also contained within the Field structure are several constants used in the simulation such as diffusion rate, a resistance factor used to scale the motion of the vector field, and a gravity term for the field.
7.2 VISUALIZATION
Our simulation uses OpenGL to visualize our data. We display one field of data (either humidity, heat, or condensation) at each step in the simulation. The data is displayed using semi-transparent smooth-blended quadrilateral strips oriented from back to front with respect to the current view. Other visualization packages could also be used, however we have chosen OpenGL because of its portability.
7.3 SIMULATION
At each step in the simulation, we perform three basic operations — we advect the mass within the system using the current velocity field, we diffuse each field according to the diffusion rate defined for each field as well as the velocity field. We then execute a projection step which ensures that our system is divergence free with respect to pressure. The simulation steps are shown visually in Figure 39.
Figure 39: Simulation pipeline.
7.4 CONSTRAINTS
Most of the computational expenses in our method were a result of the cost of the fluid solver. The graphics processor we used, a Nvidia Geforce2 with 32Mb video memory, was adequate for this application. No bottlenecks were experienced when the system was rendering, only when executing the fluid solver. In our implementation we were unable to allocate a grid size larger than 25x25x50. However, with increased CPU speed and memory, which are both becoming increasingly more common on standard desktop PC’s, we would be able to increase both grid size and performance. We would like to test our application on a more powerful machine, such as a 2GHz PC with 1+Gb RAM. We would like to be able to run the simulation on a grid size of approximately 50x50x100 with interactive frame rates.
8 FUTURE WORK
In this section we discuss several directions for further research.
• More cloud types
There are many more types of cloud formations than just the two we have addressed in our current simulation. These include cirrus, cirrocumulus, cirrostratus, altocumulus, altostratus, nimbostratus, stratocumulus, and finally cumulonimbus [Wallen 1992]. As the names suggest, many of these cloud types are variations of the three main cloud formations: stratus, cumulus, and cirrus. Although we have not yet explored creation of these other types, we believe our model should easily adapt to handle them. With additional research we would like to add environmental presets for each cloud type to aid the user in creating these different base types.
• Complete growth cycle including precipitation and dissipation
We also hope to add to the current growth cycle of our clouds. Once enough water vapor has condensed into cloud form, gravity starts to pull down on some of the larger condensed particles. As the large droplets fall through the cloud colliding with other condensed particles, the process of precipitation begins [Wallen 1992]. We would like to experiment with modeling the precipitation stage of the cloud life cycle in our model. This model could be implemented simply by overlaying a
simple particle system on top of our volumetric cloud data. Because the
continuous collision model provides a statistical distribution of particle size in the cloud, we would not have to perform the more expensive collision detection algorithms in order to reproduce the process. However, some research may be required in order to develop an accurate algorithm for computing collision
probability under varying environmental conditions. This would not only include rain but also other forms of precipitation including snow and frozen rain.
• More research into atmospheric model
By improving our model of the atmosphere, we will be able to better mimic the complex processes that contribute to the formation of other cloud types and storm systems. We would like to improve our model to the point that we are able to successfully incorporate all three stages of the thunderstorm lifecycle described by Byers and Braham [1949]: the cumulus stage, the mature stage, and the downdraft stage.
• Gesture interface for artistic creation of environment
We would like to conduct some user experiments with a three-dimensional augmented reality interface in which the user is able to interact with the
environment by means of a gesture-based interface. Using such an interface the user would be able to more accurately shape the volumetric structure of the cloud during the course of the simulation.
• Modeling of nebulous clouds in deep space
We have also considered in the future applying this model to the formation and evolution of nebulous gas clouds in deep space. Our model would require
modifications to match the different environment and properties of gas flow in the zero-gravity vacuum of deep space.
• Application to high-level atmospheric simulation
We believe that this model could be applied to a high-level atmospheric simulator that could be used to visually simulate a section of the atmosphere equivalent to a 360° view from a point on Earth. The high-level simulator could use atmospheric data to determine where clouds might form and what type of clouds would form there. The low-level simulator (presented in this paper) could then be used to generate a local cloud of the correct type.
9 CONCLUSIONS
We have developed an efficient physically-based simulation of cloud formation which can be run interactively on a standard desktop PC with an average video
accelerator. This model provides a basis for modeling clouds in 3D using a computational fluid solver. We believe that the proposed model is a significant improvement over previous models of cloud formation in the field of Computer Graphics because of our use of an efficient three dimensional fluid solver and our detailed analysis of the physical process of atmospheric cloud formation. We hope to improve this model in the future by proceeding in the directions set out in section 8.
REFERENCES
Blinn, J. 1982. Light Reflection Functions for Simulation of Clouds and Dusty Surfaces.
Proc. of SIGGRAPH '82, pp.21–29.
Braham Jr., R.R. 1996. The Thunderstorm Project. Bulletin of the American
Meteorological Society, 77,8.
Brower Jr., W. B. 1999. A Primer in Fluid Mechanics: Dynamics of Flows in One
Space Dimension. CRC Press, Boca-Raton, FL.
Byers, H. R. and Braham Jr., R.R. 1949. The Thunderstorm. U.S. Department of Commerce, Washington D.C. 287pp.
Dobashi, Y., Kaneda, K., Yamashita, H., Okita, T., and Nishita, T. 2000. A Simple, Efficient Method for Realistic Animation of Clouds. Proc. of SIGGRAPH 00, pp.19–28.
Ebert, D.S. 1997. Volumetric Modeling with Implicit Functions: A Cloud is Born.
Visual Proc. of SIGGRAPH '97, pp. 147.
Fedkiw, R., Stam, J., and Wann Jensen, H. 2001. Visual Simulation of Smoke. Proc. of
SIGGRAPH 01, pp. 15–22.
Foster, N. and Fedkiw, R. 2001. Practical Animation of Liquids. Proc. of SIGGRAPH
'01, pp. 23–30.
Foster, N. and Metaxas, D. 1997. Modeling the Motion of a Hot, Turbulent Gas.
Computer Graphics. 31,181–188.
Gardner, G. 1985. Visual Simulation of Clouds. Proc. of SIGGRAPH '85, pp. 297–303. Harris, M. J. and Lastra, A. 2001. Real-Time Cloud Rendering. Computer Graphics
Forum (Eurographics '01 Proc.), 20,3.
Kajiya, J. and Von Herzen, B. 1984. Ray Tracing Volume Densities. Proc. of
SIGGRAPH '84, pp. 165–174.
Kaneko, K. 1990. Simulating Physics with Coupled Map Lattices---Pattern Dynamics, Information Flow, and Thermodynamics of Spatiotemporal Chaos. World Scientific,
1. Singapore.
Levoy, M. 1990. Efficient Ray Tracing of Volume Data. ACM Transactions on
Lewis, J. 1989. Algorithms for Solid Noise Synthesis. Proc. of SIGGRAPH '89, pp. 263–270.
Lide, D. R. 1992. CRC Handbook of Chemistry and Physics. CRC Press, Boca-Raton, FL. 72nd Ed.
Max, N. 1986. Atmospheric Illumination and Shadows. Proc. of SIGGRAPH ’86, pp. 117–124.
Miyazaki, R., Yoshida, S., Dobashi, Y., and Nishita, T. 2001. A Method for Modeling Clouds based on Atmospheric Fluid Dynamics. Proc. of Pacific Graphics ‘01, pp. 363–372.
Nagel, K. and Raschke, E. 1992. Self-organizing Criticality in Cloud Formation?
Physica A, (182):519–531.
Neyret, F. 1997. Qualitative Simulation of Convective Clouds Formation and Evolution.
Computer Animation and Simulation '97. pp. 113–124.
Perlin, K. 1989. Hypertexture. Proc. of SIGGRAPH '89, pp. 253–261.
Reeves, W. T. 1983. Particle Systems—A Technique for Modeling a Class of Fuzzy Objects. ACM Transactions on Graphics, 2,2,91–108.
Stam, J. and Fiume, E. 1995. Depiction of Fire and Other Gaseous Phenomena Using Diffusion Processes. Proc. of SIGGRAPH '95, pp. 129–136.
Stam, J. 1999. Stable Fluids. Proc. of SIGGRAPH 99, pp. 121–128.
Steinhoff, J. and Underhill, D. 1994. Modification of the Euler Equations for "Vorticity Confinement": Application to the Computation of Interacting Vortex Rings.
Physics of Fluids, 6,8,2738–2744.
Wallace, J. and Hobbs, P. 1977. Atmospheric Science: An Introductory Survey. Academic Press, New York, NY.
Wallen, R. N. 1992. Introduction to Physical Geography. Wm. C. Brown Publishers, Dubuque, IA.
SUPPLEMENTAL SOURCES CONSULTED
Foley, J., van Dam, A., Feiner, S., Hughes, J., and Phillips, R. 1993. Introduction to
Computer Graphics. Addison-Wesley, Reading, MA.
Woo, M., Neider, J., Davis, T., and Shreiner, D. 1999. OpenGL Programming Guide,
APPENDIX A — ADDITIONAL IMAGES
Figure 40: Clouds generated and rendered using Dobashi method. Taken from early prototype model.
APPENDIX B — SEQUENTIAL IMAGES
Figure 42: Humidity field being advected by buoyancy.
Figure 43: Heat field. Notice added heat where condensation occurs.
APPENDIX C — PSEUDOCODE
The basic steps of our simulation:
• Initialize grid space. Initialize each voxel's: o Velocity
o Humidity o Heat
o Condensation • Simulation Loop:
o Source Step. Add external velocity forces based on: Wind
Vorticity Confinement Buoyancy
o Simulation Step. Handles motion of fluid based on Stam's model [Stam 1999]
Transport Step -- Handle Periodic Boundaries Diffusion/Dissipation Step
Momentum Conservation Step Expansion Step
Projection Step o Compute relative humidity o Condense water
Compute condensation Reduce humidity Add latent heat
APPENDIX D — ATMOSPHERIC TABLES
Figure 45: Chart of pressure vs. altitude in troposphere
APPENDIX E — USEFUL TERMS
Buoyancy — An upward force caused by differences in temperature and density of air.
Dew Point — The temperature at which a rising air parcel reaches saturation and condensation begins.
Hygroscopic Nuclei — Tiny particles in the air upon which water can condense to form clouds.
Kinematic viscosity —The fluidic viscosity of the material over the density [White 1991].
Relative Humidity — The ratio of water vapor currently held by a constant volume of air to the total amount of water vapor that volume could hold at maximum.
Tropopause — The upper boundary of the tropopause.
Troposphere — The lower 12 km of the atmosphere. Also known as the zone of weather.
VITA
Derek Robert Overby 111 West Ruelle Mandeville, LA 70471
Derek Robert Overby was born in Metaire, Louisiana in May of 1978 to Dennis and Yvette Overby. He attended Catholic school from kindergarten through high school, when he attended Jesuit High School in New Orleans, Louisiana. After graduating Summa Cum Laude from Jesuit and being named a National Merit Scholar in 1996, Derek came to Texas A&M University as a recipient of the President’s Endowed Scholarship, where he initially enrolled in the Mechanical Engineering program. After transferring to the Computer Science department, Derek went on to graduate from Texas A&M University with a Bachelor of Science degree in Computer Science in August 2000. Continuing on, Derek immediately entered the graduate program at A&M, pursuing his Master’s degree in the field of Computer Science. After a summer internship at the Naval Research Laboratory in Washington, D.C., Derek returned to A&M to complete the degree of Master of Science in Computer Science in May of 2002.