Fractional Brownian Motion Generator
Fractional Brownian Motion (FBM) Generator
This code generates patterns using the fractional Brownian motion (FBM), a mathematical technique used to create fractal-like images. The code is inspired in the well-documented posts from M. McGuire [1], I. Quilez [2], and P. Gonzalez-Vivo & J. Lowe [3].
The code was used to create the cover of my PhD thesis titled Development of a wide-spectrum thermochemical code with application to planar reacting and non-reacting shocks
.
The process to generate the cover was as follows:
- Get an image that mimics turbulence using the script.
- Vectorize the image using SVGStorm [4]. This will homogenize the image without the need to generate a large image.
- Post-process the image using Inkscape [5].
Preview
Usage
The function can be called with optional name-pair arguments, such as:
- zoom (float): Zoom factor of the image.
- octaves (float): Number of octaves.
- resolution (float): Resolution of the image (width, height) in pixels.
- palette (float): Colormap of the image, e.g.,
summer
orwinter
. - ntimes (float): Number of images to generate.
- velocity (float): Velocity of the pattern.
- direction (float): Direction of the pattern (x, y).
Examples:
fbm()
fbm('resolution', [640, 360])
fbm('resolution', [640, 360], 'zoom', 0.5)
fbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4)
fbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000)
fbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000, 'velocity', 5)
fbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000, 'velocity', 5, 'palette', 'winter')
References
- [1] M. McGuire: https://www.shadertoy.com/view/4dS3Wd
- [2] I. Quilez: https://iquilezles.org/articles/fbm
- [3] P. Gonzalez-Vivo & J. Lowe: https://thebookofshaders.com/13
- [4] SVGStorm: https://svgstorm.com/app
- [5] Inkscape: https://inkscape.org
引用格式
Alberto Cuadra Lara (2024). Fractional Brownian Motion Generator (https://github.com/AlbertoCuadra/fbm/releases/tag/v1.0.0), GitHub. 检索时间: .
MATLAB 版本兼容性
平台兼容性
Windows macOS Linux标签
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!utils
版本 | 已发布 | 发行说明 | |
---|---|---|---|
1.0.0 |