{"id":17302343,"url":"https://github.com/coriolinus/julia-set","last_synced_at":"2025-03-26T22:24:10.478Z","repository":{"id":79235956,"uuid":"64548789","full_name":"coriolinus/julia-set","owner":"coriolinus","description":null,"archived":false,"fork":false,"pushed_at":"2016-08-05T18:36:17.000Z","size":744,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-01T04:16:20.627Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","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/coriolinus.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":"2016-07-30T14:46:41.000Z","updated_at":"2016-07-30T14:47:04.000Z","dependencies_parsed_at":"2023-06-28T10:45:30.836Z","dependency_job_id":null,"html_url":"https://github.com/coriolinus/julia-set","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/coriolinus%2Fjulia-set","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coriolinus%2Fjulia-set/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coriolinus%2Fjulia-set/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coriolinus%2Fjulia-set/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coriolinus","download_url":"https://codeload.github.com/coriolinus/julia-set/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245744310,"owners_count":20665257,"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-15T11:47:15.555Z","updated_at":"2025-03-26T22:24:10.451Z","avatar_url":"https://github.com/coriolinus.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Julia Set Generator\n\nImplements the challenge given at \u003chttps://www.reddit.com/r/dailyprogrammer/comments/4v5h3u/20160729_challenge_277_hard_trippy_julia_fractals/\u003e.\n\n## Problem Description\n\nA Julia set is made by applying a function to the complex numbers repeatedly and keeping track of when the resulting numbers reach a threshold value. One number may take 200 iterations to achieve and absolute value over a certain threshold, value while an almost identical one might only take 10 iterations.\n\nHere, we're interested in Julia sets because you can make pretty pictures with them if you map each complex input number to a pixel on the screen. The task today is to write a program that does all the math necessary for your computer to draw one of these beautiful pictures. In addition to making a buck from the band, you can also make a set of nice wallpapers for your desktop!\n\n## Detailed Instructions\n\n1. Pick your function\n\n  Pick a function f which maps from a complex number z to another complex number. In our case we will use `f(z) = z^2 – 0.221 – 0.713 i`, because that makes a particularly pretty picture. To customize your own picture you can change the constant `– 0.221 – 0.713 i` to something else if you want. The threshold value for this function is `2`.\n\n2. Make a set of complex numbers\n\n  The only complex numbers which are interesting for the Julia set are the ones where both the real and the imaginary part is between `-1` and `1`. That's because, if the absolute value of an input number exceeds the threshold value, it will keep increasing or decreasing without bounds when you keep applying your function. So your program needs to keep a whole bunch of these small complex numbers in memory – one number for each pixel in your final image.\n\n3. Apply f to that set of complex numbers iteratively\n\n  Your program needs to check how many times you can apply the function f to each of the complex numbers above before its absolute value crosses the threshold value. So for each of your complex numbers, you get number of iterations, I.\n\n4. Map the values of I to pixels in a picture\n\n  You can do this in many ways, but an easier way, which I recommend, is that the real and imaginary parts of the complex numbers are the positions of the pixel on the X- and Y-axis, respectively, and I is the intensity of the pixel. You might want to set some cutoff to prevent specific pixels from iterating thousands of times.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoriolinus%2Fjulia-set","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoriolinus%2Fjulia-set","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoriolinus%2Fjulia-set/lists"}