{"id":16707128,"url":"https://github.com/expandingman/mandelbrot.jl","last_synced_at":"2026-01-02T12:04:01.340Z","repository":{"id":82272090,"uuid":"258682814","full_name":"ExpandingMan/Mandelbrot.jl","owner":"ExpandingMan","description":"goofing off with the mandelbrot set in Julia","archived":false,"fork":false,"pushed_at":"2020-04-25T19:44:13.000Z","size":6375,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-21T10:07:51.662Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ExpandingMan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2020-04-25T03:58:26.000Z","updated_at":"2020-04-26T15:39:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa0844d2-b35d-4c88-a67c-d39af2d39927","html_url":"https://github.com/ExpandingMan/Mandelbrot.jl","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpandingMan%2FMandelbrot.jl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpandingMan%2FMandelbrot.jl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpandingMan%2FMandelbrot.jl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ExpandingMan%2FMandelbrot.jl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ExpandingMan","download_url":"https://codeload.github.com/ExpandingMan/Mandelbrot.jl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243613084,"owners_count":20319465,"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":[],"created_at":"2024-10-12T19:37:41.611Z","updated_at":"2026-01-02T12:04:01.287Z","avatar_url":"https://github.com/ExpandingMan.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Mandelbrot\nSome simple, fun Julia code for generating Mandelbrot set related imagery.  This was\nbasically a \"weekend project\" and is more of a nice demonstration of\n[Julia](https://julialang.org) than anything else.\n\nEverything here works simply by mapping the values of individual pixels.  As such, the\nimages may look a little \"grainy\" depending on how many iterations are used.  This can be\nremedied either by doing more iterations (or plotting more points) or with some sort of\nimage post-processing.\n\n## Simple Uses\nOne can check if a complex number `z` (specifically, any Julia `Number`) is in the mandelbrot\nset by doing\n```julia\nusing Mandelbrot\n\nz ∈ mandelbrot\n```\nBy default membership in the set is estimated from 10^3 iterations (without any tests for\nconvergence).  One can change the number of iterations by doing `∈(z, mandelbrot,\nn_iter)`.\n\nOne can generate the so-called \"[buddhabrot](https://en.wikipedia.org/wiki/Buddhabrot)\"\nimage by doing\n```julia\nh = buddha(10^7)  # \"buddhabrot\" of 10^7 points drawn from the uniform distribution\n\nh₁ = buddha(𝓅, 10^7)  # \"buddhabrot\" of 10^7 points drawn from distribution 𝓅\n```\nWhen generating the \"buddhabrot\" a histogram is made of mandelbrot trajectories from some\nnumber `z`.  By default these numbers are drawn from a uniform distribution, but they can\nbe drawn from any other 2-dimensional distribution using the\n[Distributions.jl](https://github.com/JuliaStats/Distributions.jl) package.\n\nNote that the generation of trajectories will take place on parallel threads, but the\nhistogram is generated sequentially.\n\n## Histogram\nThe \"buddhabrot\" is a simple histogram, and for this I created a simple `histogram`\nfunction using a simple binary search.  Both of these functions can be found in\n`src/utils.jl`.  The binary search seems to have fairly good performance, but I did not go\ncrazy optimizing it.\n\n\n## Images\n![bluebuddha1](images/bluebuddha1.png)\n\n![nebula1](images/nebula1.jpg)\n\n![attractors1-lower](images/attractors1-lower.jpg)\n\n![attractors1-upper](images/attractors1-upper.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpandingman%2Fmandelbrot.jl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexpandingman%2Fmandelbrot.jl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexpandingman%2Fmandelbrot.jl/lists"}