{"id":13450724,"url":"https://github.com/esimov/gobrot","last_synced_at":"2025-06-16T03:34:55.964Z","repository":{"id":57485349,"uuid":"56748126","full_name":"esimov/gobrot","owner":"esimov","description":"Mandelbrot image renderer in Go","archived":false,"fork":false,"pushed_at":"2023-07-16T12:18:18.000Z","size":22409,"stargazers_count":108,"open_issues_count":0,"forks_count":9,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-13T19:41:41.474Z","etag":null,"topics":["color-palettes","fractal","go","golang","image-processing","mandelbrot"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/esimov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2016-04-21T06:27:14.000Z","updated_at":"2025-03-26T04:11:05.000Z","dependencies_parsed_at":"2024-06-19T01:53:16.067Z","dependency_job_id":null,"html_url":"https://github.com/esimov/gobrot","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/esimov/gobrot","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimov%2Fgobrot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimov%2Fgobrot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimov%2Fgobrot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimov%2Fgobrot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/esimov","download_url":"https://codeload.github.com/esimov/gobrot/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/esimov%2Fgobrot/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260090613,"owners_count":22957251,"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":["color-palettes","fractal","go","golang","image-processing","mandelbrot"],"created_at":"2024-07-31T07:00:37.676Z","updated_at":"2025-06-16T03:34:55.913Z","avatar_url":"https://github.com/esimov.png","language":"Go","funding_links":[],"categories":["Libraries/tools"],"sub_categories":[],"readme":"# gobrot\n\nGobrot is a mandelbrot image renderer written in Go. The renderer takes advantage of Go's concurrent and parallel programming feature known as *goroutine*.\n\nMandelbrot images are generated by applying a mathematical function to each complex number projected in the complex plane and determining for each whether they are bounded or escapes towards infinity. The mandelbrot set is defined by the following formula: **`z_{n+1} = z_n^2 + c`**. \n\nTreating the real and imaginary parts of each number as image coordinates, pixels are colored according to how rapidly the sequence diverges, if at all.\n\n### Install\n```\n$ go install github.com/esimov/gobrot@latest\n```\n\n### Run\nRunning `$ gobrot` will produce the following image:\n\n![sample](https://raw.githubusercontent.com/esimov/gobrot/master/images/test5.jpg)\n\n```\n$ gobrot --help\n\nUsage of gobrot:\n  -file string\n    \tThe rendered mandelbrot image filname (default \"mandelbrot.png\")\n  -height int\n    \tRendered image height (default 768)\n  -iteration int\n    \tIteration count (default 800)\n  -palette string\n    \tHippi | Plan9 | AfternoonBlue | SummerBeach | Biochimist | Fiesta (default \"Hippi\")\n  -radius float\n    \tEscape Radius (default 0.125689)\n  -smoothness int\n    \tThe rendered mandelbrot set smoothness. For a more detailded and clear image use higher numbers. For 4xAA (AA = antialiasing) use -smoothness 4 (default 8)\n  -step float\n    \tColor smooth step. Value should be greater than iteration count, otherwise the value will be adjusted to the iteration count. (default 6000)\n  -width int\n    \tRendered image width (default 1024)\n  -xpos x\n    \tPoint position on the real axis (defined on x axis) (default -0.00275)\n  -ypos y\n    \tPoint position on the imaginary axis (defined on y axis) (default 0.78912)\n\n```\n\nHere are some options you can try out. (The attached images are generated using the below commands.)\n\n```\n$ gobrot -palette \"Hippi\" -xpos -0.0091275 -ypos 0.7899912 -radius .01401245 -file \"mandelbrot.png\"\n```\n```\n$ gobrot -palette \"Plan9\" -xpos -0.0091275 -ypos 0.7899912 -radius .01401245 -file \"test2.png\" -iteration 600 -step 600\n```\n```\n$ gobrot -palette \"Vivid\" -xpos -0.00991275 -ypos 0.7899912 -radius .02401245 -file \"test3.png\" -iteration 800 -step 600 -smoothness 10 -width 1920 -height 1080\n```\n```\n$ gobrot -palette \"Hippi\" -xpos -0.00275 -ypos 1.012 -radius .089999 -file \"test4.png\" -iteration 800 -step 600 -smoothness 10 -width 1920 -height 1080\n```\n```\n$ gobrot -palette \"Hippi\" -xpos -0.00275 -ypos 0.78912 -radius .1256789 -file \"test5.png\" -iteration 800 -step 6000 -smoothness 10 -width 1920 -height 1080\n```\n\nBy combining `-palette`, `-iteration` and `-step` values you can obtain differently colorized mandelbrot sets.\n\nCheck out my article for more details: http://esimov.com/2016/04/mandelbrot-renderer-in-go\n\n### TODO\n\n- [ ] Generate various images with a single command\n- [ ] Find dynamically the regions where a deep zoom will emerge new mandelbrot sets \n\n### Resources\n\n- https://en.wikipedia.org/wiki/Mandelbrot_set\n- https://en.wikibooks.org/wiki/Fractals/Iterations_in_the_complex_plane/MandelbrotSetExterior\n- http://linas.org/art-gallery/escape/escape.html\n- https://rosettacode.org/wiki/Mandelbrot_set\n- https://youtu.be/2AZYZ-L8m9Q\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimov%2Fgobrot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fesimov%2Fgobrot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fesimov%2Fgobrot/lists"}