“Algorithms for solid noise synthesis” by Lewis

  • ©J. P. Lewis




    Algorithms for solid noise synthesis



    A solid noise is a function that defines a random value at each point in space. Solid noises have immediate and powerful applications in surface texturing, stochastic modeling, and the animation of natural phenomena.Existing solid noise synthesis algorithms are surveyed and two new algorithms are presented. The first uses Wiener interpolation to interpolate random values on a discrete lattice. The second is an efficient sparse convolution algorithm. Both algorithms are developed for model-directed synthesis, in which sampling and construction of the noise occur only at points where the noise value is required, rather than over a regularly sampled region of space. The paper attempts to present the rationale for the selection of these particular algorithms.The new algorithms have advantages of efficiency, improved control over the noise power spectrum, and the absence of artifacts. The convolution algorithm additionally allows quality to be traded for efficiency without introducing obvious deterministic effects. The algorithms are particularly suitable for applications where high-quality solid noises are required. Several sample applications in stochastic modeling and solid texturing are shown.


    1. Abramowitz, M. and Stegun, I., Handbook of Mathematical Functions. Dover, New York, 1965.]]
    2. Bohm, W., Farin, G. and Kahmann, J., A Survey of Curve and Surface Methods in CAGD. Computer Aided Geometric Design 1, 1 (1984), 1-60.]]
    3. Bracewell, R., The Fourier Transform and Its Applications. McGraw-Hill, New York, 1965.]]
    4. Carpenter, L., Computer Rendering of Fractal Curves and Surfaces. Supplement to Proceedings of SIGGRAPH ’80 (Seattle, July 1980). In Computer Graphics 14, 3 (July 1980), 180.]]
    5. Cook, R., Stochastic Sampling in Computer Graphics. ACM Transactions on Graphics 5, 1 (January 1986), 51-72.]]
    6. Cook, R., Shade Trees. Proceedings of SIGGRAPH ’84 (Minneapolis, July 23-27 1984). In Computer Graphics 18, 3 (July 1984), 223-23t.]]
    7. Deutsch, R., Estimation Theory. Prentice-Hall, New Jersey, 1965.]]
    8. Fournier, A., Fussell, D., and Carpenter, L., Computer Rendering of Stochastic Models. Communications ACM 25, 6 (June 1982), 371-384.]]
    9. Gardner, G., Simulation of Natural Scenes Using Textured Quadric Surfaces. Proceedings of SIGGRAPH ’84 (Minneapolis, July 23-27 1984). In Computer Graphics 18, 3 (July 1984), 11-20.]]
    10. Heckbert, E, Personal communication.]]
    11. Lewis, J.P., Generalized Stochastic Subdivision. ACM Transactions on Graphics 6, 3 (July 1987), 167-190.]]
    12. Lewis, J.P., Methods for Stochastic Spectral Synthesis. In Proceedings of Graphics Interface 86 (Vancouver, May 1986), 173-179.]]
    13. Oppenheim, A. and Schafer, R., Digital Signal Processing. Prentice Hall, Englewood Cliffs, N.J., 1975.]]
    14. Papoulis, A., Probability, Random Variables, and Stochastic Processes. McGraw-Hill, New York, 1965.]]
    15. Parke, E, Parameterized Models for Facial Animation. IEEE Computer Graphics and Applications 2, 9 (Nov. 1982), 61- 68.]]
    16. Peachy, D., Solid Texturing of Complex Surfaces. Proceedings of SIGGRAPH ’85 (San Francisco, July 22-26 1985). In Computer Graphics 19, 3 (July 1985), 279-286.]]
    17. Perlin, K., A Unified Texture/Reflectance Model. In SIG- GRAPH ’84 Advanced Image Synthesis course notes (Minneapolis, July 1984).]]
    18. Perlin, K., An Image Synthesizer. Proceedings of SIG- GRAPH ’85 (San Francisco, July 22-26 1985). In Computer Graphics 19, 3 (July 1985), 287-296.]]
    19. Schafer, R. and Rabiner, L., A Digital Signal Processing Approach to Interpolation. Proc. 1EEE 61, 6 (June 1973), 692-702.]]
    20. Wiener, N., Extrapolation, interpolation, and Smoothing of Stationary Time Series. Wiley, New York, 1949.]]
    21. Yaglom, A., An Introduction to the Theory of Stationary Random Functions. Dover, New York, 1973.]]

ACM Digital Library Publication: