{"id":16638263,"url":"https://github.com/albertocuadra/fbm","last_synced_at":"2025-12-25T23:21:17.355Z","repository":{"id":156740826,"uuid":"633129389","full_name":"AlbertoCuadra/fbm","owner":"AlbertoCuadra","description":"Generate patterns using the fractional Brownian motion","archived":false,"fork":false,"pushed_at":"2023-07-25T11:58:23.000Z","size":6757,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-18T12:15:10.341Z","etag":null,"topics":["brownian-motion","cover","fbm","fractal","fractional-brownian-motion","matlab","noise","phd-thesis"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlbertoCuadra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-26T21:02:37.000Z","updated_at":"2024-01-01T09:28:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"1597afee-0d12-4606-b31c-fc8d27bffb26","html_url":"https://github.com/AlbertoCuadra/fbm","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoCuadra%2Ffbm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoCuadra%2Ffbm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoCuadra%2Ffbm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlbertoCuadra%2Ffbm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlbertoCuadra","download_url":"https://codeload.github.com/AlbertoCuadra/fbm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243145891,"owners_count":20243604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["brownian-motion","cover","fbm","fractal","fractional-brownian-motion","matlab","noise","phd-thesis"],"created_at":"2024-10-12T06:44:06.491Z","updated_at":"2025-12-25T23:21:12.300Z","avatar_url":"https://github.com/AlbertoCuadra.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fractional Brownian Motion (FBM) Generator\n\n[![View Fractional Brownian Motion Generator on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://in.mathworks.com/matlabcentral/fileexchange/128649-fractional-brownian-motion-generator)\n\nThis 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 \u0026 J. Lowe [3].\n\nThe 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```.\n\n\nThe process to generate the cover was as follows:\n1. Get an image that mimics turbulence using the script.\n2. Vectorize the image using SVGStorm [4]. This will homogenize the image without the need to generate a large image.\n3. Post-process the image using Inkscape [5].\n\n# Preview\n\n\u003cp align=\"left\"\u003e\n    \u003cimg src=\"https://github.com/AlbertoCuadra/fbm/blob/master/examples/phd_cover.svg\" width=\"1400\"\u003e\n\u003c/p\u003e\n\u003cp align=\"left\"\u003e\n    \u003cimg src=\"https://github.com/AlbertoCuadra/fbm/blob/master/examples/parula.svg\" width=\"400\"\u003e\n    \u003cimg src=\"https://github.com/AlbertoCuadra/fbm/blob/master/examples/bone.svg\" width=\"400\"\u003e\n    \u003cimg src=\"https://github.com/AlbertoCuadra/fbm/blob/master/examples/summer.svg\" width=\"400\"\u003e\n    \u003cimg src=\"https://github.com/AlbertoCuadra/fbm/blob/master/examples/winter.svg\" width=\"400\"\u003e\n\u003c/p\u003e\n\n## Usage\nThe function can be called with optional name-pair arguments, such as:\n\n* zoom (float): Zoom factor of the image.\n* octaves (float): Number of octaves.\n* resolution (float): Resolution of the image (width, height) in pixels.\n* palette (float): Colormap of the image, e.g., ```summer``` or ```winter```.\n* ntimes (float): Number of images to generate.\n* velocity (float): Velocity of the pattern.\n* direction (float): Direction of the pattern (x, y).\n\n## Examples:\n\n```matlab\nfbm()\nfbm('resolution', [640, 360])\nfbm('resolution', [640, 360], 'zoom', 0.5)\nfbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4)\nfbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000)\nfbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000, 'velocity', 5)\nfbm('resolution', [640, 360], 'zoom', 0.5, 'octaves', 4, 'ntimes', 1000, 'velocity', 5, 'palette', 'winter')\n```\n\n## References\n* [1] M. McGuire: https://www.shadertoy.com/view/4dS3Wd\n* [2] I. Quilez: https://iquilezles.org/articles/fbm\n* [3] P. Gonzalez-Vivo \u0026 J. Lowe: https://thebookofshaders.com/13\n* [4] SVGStorm: https://svgstorm.com/app\n* [5] Inkscape: https://inkscape.org\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertocuadra%2Ffbm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falbertocuadra%2Ffbm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falbertocuadra%2Ffbm/lists"}