Author:
Taylor Sheldon,Sharpe Owen,Peethambaran Jiju
Abstract
AbstractProcedural noise functions are fundamental tools in computer graphics used for synthesizing virtual geometry and texture patterns. Ideally, a procedural noise function should be compact, aperiodic, parameterized, and randomly accessible. Traditional lattice noise functions such as Perlin noise, however, exhibit periodicity due to the axial correlation induced while hashing the lattice vertices to the gradients. In this paper, we introduce a parameterized lattice noise called prime gradient noise (PGN) that minimizes discernible periodicity in the noise while enhancing the algorithmic efficiency. PGN utilizes prime gradients, a set of random unit vectors constructed from subsets of prime numbers plotted in polar coordinate system. To map axial indices of lattice vertices to prime gradients, PGN employs Szudzik pairing, a bijection F : ℕ2 → ℕ. Compositions of Szudzik pairing functions are used in higher dimensions. At the core of PGN is the ability to parameterize noise generation though prime sequence offsetting which facilitates the creation of fractal noise with varying levels of heterogeneity ranging from homogeneous to hybrid multifractals. A comparative spectral analysis of the proposed noise with other noises including lattice noises show that PGN significantly reduces axial correlation and hence, periodicity in the noise texture. We demonstrate the utility of the proposed noise function with several examples in procedural modeling, parameterized pattern synthesis, and solid texturing.
Publisher
Springer Science and Business Media LLC
Subject
Artificial Intelligence,Computer Graphics and Computer-Aided Design,Computer Vision and Pattern Recognition
Reference51 articles.
1. Lindenmayer, A. Mathematical models for cellular interactions in development I. Filaments with one-sided inputs. Journal of Theoretical Biology Vol. 18, No. 3, 280–299, 1968.
2. Perlin, K. An image synthesizer. ACM SIGGRAPH Computer Graphics Vol. 19, No. 3, 287–296, 1985.
3. Lagae, A.; Lefebvre, S.; Cook, R.; DeRose, T.; Drettakis, G.; Ebert, D. S.; Lewis, J. P.; Perlin, K.; Zwicker, M. A survey of procedural noise functions. Computer Graphics Forum Vol. 29, No. 8, 2579–2600, 2010.
4. Planetside Software. Perlin 3D scalar. 2020. Available at https://planetside.co.uk/wiki/index.php?title=Perlin_3D_Scalar.
5. Unity. Mathf.perlinnoise. 2020. Available at https://docs.unity3d.com/ScriptReference/Mathf.PerlinNoise.html.