{"id":18777683,"url":"https://github.com/daelsepara/sdl-fractals","last_synced_at":"2025-12-17T03:30:12.725Z","repository":{"id":198887252,"uuid":"695177862","full_name":"daelsepara/sdl-fractals","owner":"daelsepara","description":"Fractal Image Generators in SDL","archived":false,"fork":false,"pushed_at":"2025-02-02T14:47:10.000Z","size":36387,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T15:31:49.061Z","etag":null,"topics":["biomorph","biomorphs","escape-time-algorithm","fractal-algorithms","fractals","mandelbrot","sdl","sdl2"],"latest_commit_sha":null,"homepage":"https://daelsepara.github.io/sdl-fractals/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/daelsepara.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":"2023-09-22T14:21:15.000Z","updated_at":"2025-02-02T14:47:14.000Z","dependencies_parsed_at":"2024-09-07T07:52:56.840Z","dependency_job_id":null,"html_url":"https://github.com/daelsepara/sdl-fractals","commit_stats":null,"previous_names":["daelsepara/sdl-fractals"],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daelsepara%2Fsdl-fractals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daelsepara%2Fsdl-fractals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daelsepara%2Fsdl-fractals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/daelsepara%2Fsdl-fractals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/daelsepara","download_url":"https://codeload.github.com/daelsepara/sdl-fractals/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239690076,"owners_count":19681034,"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":["biomorph","biomorphs","escape-time-algorithm","fractal-algorithms","fractals","mandelbrot","sdl","sdl2"],"created_at":"2024-11-07T20:13:17.016Z","updated_at":"2025-12-17T03:30:12.668Z","avatar_url":"https://github.com/daelsepara.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"Fractal Image Generators in SDL\n\n# GitHub Repository\n[https://github.com/daelsepara/sdl-fractals](https://github.com/daelsepara/sdl-fractals)\n\n# Building (Unix/Linux)\n\n```cmd\ncd repository/src\nmake\n```\n\n**Dependencies**: sdl2, sdl2-image\n\n# Usage\n\n```cmd\n./Fractals.exe /PARAMS={parameters.json} /IMAGE={image.png} /PALETTE={palette.json} /BENCHMARK {other parameters}\n```\n\n## Required parameters\n\n#### /PARAMS={parameters.json} or /PARAMETERS={parameters.json}\n\nRead parameters from *{parameters.json}* file.\n\nSee [parameters/](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/) for sample parameter files.\n\n## Optional parameters\n\n#### /IMAGE={image.png}\nSave fractal to *{image.png}*\n\n#### /PALETTE={palette.json}\nUse *{palette.json}* colormap. See [palettes/](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/) for some colormaps that can be used.\n\n#### /BENCHMARK\nGenerate fractal in memory without rendering on the screen or saving image to {image.png}\n\nWithout **/BENCHMARK** and **/IMAGE**, the fractal is rendered on the screen.\n\n## Other parameters\n\n#### /INVERTX\nInverts x-axis. Left to right goes from + to - values.\n\n#### /INVERTY\nInverts y-axis. Top to bottom goes from - to + values.\n\n#### /INVERT\nInverts color values.\n\n#### /LOG\nUse log-scale color mapping. Overrides color mapping in parameter file.\n\n#### /NORMALIZED\nUse normalized color mapping. Overrides color mapping in parameter file.\n\n#### /MOD\nUse moduluo-255 color mapping. Overrides color mapping in parameter file.\n\n#### /HISTOGRAM\nUse histogram color mapping. Overrides color mapping in parameter file.\n\n#### /DEFAULT\nUse default color mapping. Overrides color mapping in parameter file.\n\n# Examples\n\n## Mandelbrot Set\n![Mandelbrot Set](samples/mandelbrot.png)\n\n### Parameters\n\n|||\n|---------------|-----------------------|\n|Generator      | **z**^**exp** + **C** |\n|exponent       | 2 |\n|max iterations | 255 |\n|escape value   | 4.0 |\n|parameter files| [mandelbrot](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot.json), [mandelbrot2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot2.json), [mandelbrot3](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot3.json) |\n|palette        | default |\n|source(s)      | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp), [Mandelbrot2.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot2.hpp), [Mandelbrot3.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot3.hpp) |\n\n### Benchmarks\n\n**mandelbrot**\n```cmd\nTime (mean ± σ):     474.8 ms ±   7.7 ms    [User: 450.3 ms, System: 17.9 ms]\nRange (min … max):   460.1 ms … 484.7 ms    10 runs\n```\n\n**mandelbrot2**\n```cmd\nTime (mean ± σ):     382.1 ms ±   7.6 ms    [User: 359.3 ms, System: 17.4 ms]\nRange (min … max):   375.8 ms … 401.5 ms    10 runs\n```\n\n**mandelbrot3**\n```cmd\nTime (mean ± σ):     390.9 ms ±  11.6 ms    [User: 365.0 ms, System: 18.2 ms]\nRange (min … max):   376.6 ms … 411.8 ms    10 runs\n```\n\n## Newton\n![Newton](samples/newton1.png)\n\n### Parameters\n\n|||\n|---------------|----------------------------------|\n|Generator      | **z** - (**z**^3 - 1)/(3**z**^2) |\n|tolerance      | 1e-6 |\n|max iterations | 255 |\n|parameter file | [newton1](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/newton1.json) |\n|palette        | default |\n|source         | [Newton1.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Newton1.hpp) |\n\n```cmd\nTime (mean ± σ):     868.1 ms ±   8.0 ms    [User: 822.9 ms, System: 35.2 ms]\nRange (min … max):   855.1 ms … 882.9 ms    10 runs\n```\n\n## Julia Sets\n\n### Common Parameters\n\n|||\n|---------------|-----------------------|\n|Generator      | **z**^**exp** + **C** |\n|max iterations | 255 |\n|escape value   | 4.0 |\n|source         | [Julia.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Julia.hpp) |\n\n### Specific Parameters and Benchmarks\n\n![Julia 1](samples/julia1.png)\n\n|||\n|----------|-------------|\n|C         | -0.4 + 0.6i |\n|parameter file| [julia1](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia1.json) |\n|palette   | [magma](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/magma.json) |\n\n```cmd\nTime (mean ± σ):     821.6 ms ±   8.3 ms    [User: 770.7 ms, System: 38.7 ms]\nRange (min … max):   812.3 ms … 836.7 ms    10 runs\n```\n\n![Julia 2](samples/julia2.png)\n\n|||\n|----------|---------------|\n|C         | -0.8 + 0.156i |\n|parameter file| [julia2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia2.json) |\n|palette   | [inferno](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/inferno.json) |\n\n```cmd\nTime (mean ± σ):     936.7 ms ±  10.5 ms    [User: 881.0 ms, System: 39.5 ms]\nRange (min … max):   925.1 ms … 959.9 ms    10 runs\n```\n\n![Julia 3](samples/julia3.png)\n\n|||\n|----------|---------------|\n|C         | 0.285 + 0.01i |\n|parameter file| [julia3](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia3.json) |\n|palette   | [moreland](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/moreland.json) |\n\n```cmd\nTime (mean ± σ):     732.1 ms ±  12.2 ms    [User: 678.0 ms, System: 38.8 ms]\nRange (min … max):   718.5 ms … 755.8 ms    10 run\n```\n\n![Julia 4](samples/julia4.png)\n\n|||\n|----------|-------------------|\n|C         | -0.7269 + 0.1889i |\n|parameter file| [julia4](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia4.json) |\n|palette   | [magma](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/magma.json) |\n\n```cmd\nTime (mean ± σ):      1.224 s ±  0.019 s    [User: 1.166 s, System: 0.041 s]\nRange (min … max):    1.201 s …  1.263 s    10 runs\n```\n\n![Julia 5](samples/julia5.png)\n\n|||\n|----------|-------------------|\n|C         | 0.26294324588 - 0.0024215732998i |\n|max iterations | 320 |\n|normalized colormap | true |\n|parameter file| [julia5](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia5.json) |\n|palette   | inverted [jet](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/jet.json) |\n\n```cmd\nTime (mean ± σ):      3.495 s ±  0.027 s    [User: 3.428 s, System: 0.039 s]\nRange (min … max):    3.454 s …  3.544 s    10 runs\n```\n\n## Mandelbrot4\n![Mandelbrot 4](samples/mandelbrot4.png)\n\n### Parameters\n\n|||\n|---------------|-----------------------|\n|Generator      | **z**^**exp** + **C** |\n|exponent       | 4 |\n|max iterations | 255 |\n|escape value   | 4.0 |\n|parameter file | [mandelbrot4](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot4.json) |\n|palette        | default |\n|source         | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp) |\n\n```cmd\nTime (mean ± σ):      3.937 s ±  0.055 s    [User: 3.831 s, System: 0.056 s]\nRange (min … max):    3.898 s …  4.063 s    10 runs\n```\n\n## Burning Ship\n![Burning Ship](samples/burningship.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------|\n|Generator      | (Re(**Zn**) + iIm(**Zn**))^2 + **C** |\n|inverted x     | true |\n|inverted y     | true |\n|normalized colormap | true |\n|inside color   | 0 |\n|max iterations | 100 |\n|escape value   | 4.0 |\n|parameter file | [burningship](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/burningship.json) |\n|palette        | [hot](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/hot.json) |\n|source         | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp) |\n\n```cmd\nTime (mean ± σ):     559.9 ms ±   4.1 ms    [User: 518.1 ms, System: 33.7 ms]\nRange (min … max):   552.8 ms … 567.2 ms    10 runs\n```\n\n## Burning Ship (2)\n![Burning Ship 2](samples/burningship2.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------|\n|Generator      | (Re(**Zn**) + iIm(**Zn**))^2 + **C** |\n|inverted x     | true |\n|inverted y     | true |\n|log colormap   | true |\n|inside color   | 0 |\n|max iterations | 100 |\n|escape value   | 4.0 |\n|parameter file | [burningship2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/burningship2.json) |\n|palette        | [plasma](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/plasma.json) |\n|source         | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp) |\n\n```cmd\nTime (mean ± σ):      1.469 s ±  0.289 s    [User: 0.840 s, System: 0.054 s]\nRange (min … max):    1.248 s …  2.128 s    10 runs\n```\n\n## Burning Ship (3)\n![Burning Ship 3](samples/burningship3.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------|\n|Generator      | (Re(**Zn**) + iIm(**Zn**))^2 + **C** |\n|inverted x     | true |\n|inverted y     | true |\n|log colormap   | true |\n|inside color   | 0 |\n|max iterations | 100 |\n|escape value   | 4.0 |\n|parameter file | [burningship3](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/burningship2.json) |\n|palette        | [bluered](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/bluered.json) |\n|source         | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp) |\n\n```cmd\nTime (mean ± σ):      1.469 s ±  0.289 s    [User: 0.840 s, System: 0.054 s]\nRange (min … max):    1.248 s …  2.128 s    10 runs\n```\n\n## Tricorn\n![Tricorn](samples/tricorn.png)\n\n### Parameters\n\n|||\n|---------------|------------------------------------------------------------|\n|Generator      | (**z_x**^2 + **z_y**^2) - i(2 * **z_x** * **z_y**) + **C** |\n|inside color   | 0 |\n|max iterations | 255 |\n|escape value   | 4.0 |\n|parameter file | [tricorn](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/tricorn.json) |\n|palette        | [parula](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/parula.json) |\n|source         | [Tricorn.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Tricorn.hpp) |\n\n```cmd\nTime (mean ± σ):     575.8 ms ±  21.6 ms    [User: 528.1 ms, System: 36.5 ms]\nRange (min … max):   536.0 ms … 602.0 ms    10 runs\n```\n\n## Multicorn\n![Multicorn](samples/multicorn.png)\n\n### Parameters\n\n|||\n|---------------|---------------------------|\n|Generator      | **Z_bar**^**exp** + **C** |\n|exponent       | 4 |\n|inside color   | 0 |\n|max iterations | 255 |\n|escape value   | 4.0 |\n|parameter file | [multicorn](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/multicorn.json) |\n|palette        | [viridis](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/viridis.json) |\n|source         | [Mandelbrot.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/Mandelbrot.hpp) |\n\n```cmd\nTime (mean ± σ):      1.316 s ±  0.016 s    [User: 1.261 s, System: 0.040 s]\nRange (min … max):    1.293 s …  1.346 s    10 runs\n```\n\n## Barnsley Fern\n![Barnsley Fern](samples/barnsleyfern.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------------------------------|\n|Generator (xn) | **xn** = **xx** * **x** + **xy** * **y** + **xc** (see below)|\n|Generator (yn) | **yn** = **yx** * **x** + **yy** * **y** + **yc** (see below)|\n|inside color   | 128 |\n|max iterations | 10000000 |\n|parameter file | [barnsleyfern](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/barnsleyfern.json) |\n|palette        | [green](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/green.json) |\n|source         | [IteratedFunctionSystem.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/IteratedFunctionSystem.hpp) |\n\n### Generator\n\n| Probability | Transformation [ xx xy yx yy xc yc ]           |\n|-------------|------------------------------------------------|\n| p \u003c 0.01    | [  0.000  0.000  0.000  0.160  0.000  0.000 ]  |\n| p \u003c 0.86    | [  0.850  0.040 -0.040  0.850  0.000  1.600 ]  |\n| p \u003c 0.93    | [  0.200 -0.260  0.230  0.220  0.000  1.600 ]  |\n| p \u003c 1.00    | [ -0.150  0.280  0.260  0.240  0.000  0.440 ]  |\n\n```cmd\nTime (mean ± σ):     664.8 ms ±   9.4 ms    [User: 621.5 ms, System: 33.5 ms]\nRange (min … max):   648.1 ms … 676.3 ms    10 runs\n```\n\n## Barnsley Fern (Culcita)\n![Barnsley Fern](samples/culcita.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------------------------------|\n|Generator (xn) | **xn** = **xx** * **x** + **xy** * **y** + **xc** (see below)|\n|Generator (yn) | **yn** = **yx** * **x** + **yy** * **y** + **yc** (see below)|\n|inside color   | 128   |\n|max iterations | 10000000 |\n|parameter file | [culcita](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/culcita.json) |\n|palette        | [green](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/green.json) |\n|source         | [IteratedFunctionSystem.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/IteratedFunctionSystem.hpp) |\n\n### Generator\n\n| Probability | Transformation [ xx xy yx yy xc yc ]           |\n|-------------|------------------------------------------------|\n| p \u003c 0.02    | [  0.000  0.000  0.000  0.250  0.000 -0.140 ]  |\n| p \u003c 0.86    | [  0.850  0.020 -0.020  0.830  0.000  1.000 ]  |\n| p \u003c 0.93    | [  0.090 -0.280  0.300  0.110  0.000  0.600 ]  |\n| p \u003c 1.00    | [ -0.090  0.280  0.300  0.090  0.000  0.700 ]  |\n\n```cmd\nTime (mean ± σ):     637.9 ms ±  32.5 ms    [User: 583.6 ms, System: 33.9 ms]\nRange (min … max):   589.1 ms … 683.9 ms    10 runs\n```\n\n## Barnsley Fern (Thelypteridaceae)\n![Barnsley Fern](samples/thelypteridaceae.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------------------------------|\n|Generator (xn) | **xn** = **xx** * **x** + **xy** * **y** + **xc** (see below)|\n|Generator (yn) | **yn** = **yx** * **x** + **yy** * **y** + **yc** (see below)|\n|inside color   | 128 |\n|max iterations | 10000000 |\n|parameter file | [thelypteridaceae](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/thelypteridaceae.json) |\n|palette        | [green](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/green.json) |\n|source         | [IteratedFunctionSystem.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/IteratedFunctionSystem.hpp) |\n\n### Generator\n\n| Probability | Transformation [ xx xy yx yy xc yc ]           |\n|-------------|------------------------------------------------|\n| p \u003c 0.02    | [  0.000  0.000  0.000  0.250  0.000 -0.400 ]  |\n| p \u003c 0.86    | [  0.950  0.005 -0.005  0.930 -0.002  0.500 ]  |\n| p \u003c 0.93    | [  0.035 -0.200  0.160  0.040 -0.090  0.020 ]  |\n| p \u003c 1.00    | [ -0.040  0.200  0.160  0.040  0.083  0.120 ]  |\n\n```cmd\nTime (mean ± σ):     572.3 ms ±   8.5 ms    [User: 533.0 ms, System: 31.7 ms]\nRange (min … max):   562.6 ms … 590.9 ms    10 runs\n```\n\n## Sierpinski Carpet\n![Sierpinski Carpet](samples/sierpinski-carpet.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------------------------------|\n|Generator (xn) | **xn** = **xx** * **x** + **xy** * **y** + **xc** (see below)|\n|Generator (yn) | **yn** = **yx** * **x** + **yy** * **y** + **yc** (see below)|\n|inside color   | 128 |\n|max iterations | 10000000 |\n|parameter file | [sierpinski-carpet](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/sierpinski-carpet.json) |\n|palette        | [sand](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/sand.json) |\n|source         | [IteratedFunctionSystem.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/IteratedFunctionSystem.hpp) |\n\n### Generator\n\n| Probability | Transformation [ xx xy yx yy xc yc ]     |\n|-------------|------------------------------------------|\n| p \u003c 0.125   | [  0.33  0.00  0.00  0.33 -0.66  0.66  ] |\n| p \u003c 0.250   | [  0.33  0.00  0.00  0.33  0.00  0.66  ] |\n| p \u003c 0.375   | [  0.33  0.00  0.00  0.33  0.66  0.66  ] |\n| p \u003c 0.500   | [  0.33  0.00  0.00  0.33 -0.66  0.00  ] |\n| p \u003c 0.625   | [  0.33  0.00  0.00  0.33  0.66  0.00  ] |\n| p \u003c 0.750   | [  0.33  0.00  0.00  0.33 -0.66 -0.66  ] |\n| p \u003c 0.875   | [  0.33  0.00  0.00  0.33  0.00 -0.66  ] |\n| p \u003c 1.000   | [  0.33  0.00  0.00  0.33  0.66 -0.66  ] |\n\n```cmd\nTime (mean ± σ):     429.3 ms ±  31.5 ms    [User: 402.7 ms, System: 18.1 ms]\nRange (min … max):   393.0 ms … 472.3 ms    10 runs\n```\n\n## Sierpinski Triangle\n![Sierpinski Triangle](samples/sierpinski-triangle.png)\n\n### Parameters\n\n|||\n|---------------|--------------------------------------------------------------|\n|Generator (xn) | **xn** = **xx** * **x** + **xy** * **y** + **xc** (see below)|\n|Generator (yn) | **yn** = **yx** * **x** + **yy** * **y** + **yc** (see below)|\n|inside color   | 128 |\n|max iterations | 10000000 |\n|parameter file | [sierpinski-triangle](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/sierpinski-triangle.json) |\n|palette        | inverted [gnpu](https://github.com/daelsepara/sdl-fractals/tree/main/src/palettes/gnpu.json) |\n|source         | [IteratedFunctionSystem.hpp](https://github.com/daelsepara/sdl-fractals/tree/main/src/fractals/IteratedFunctionSystem.hpp) |\n\n### Generator\n\n| Probability | Transformation [ xx xy yx yy xc yc ]     |\n|-------------|------------------------------------------|\n| p \u003c 0.33    | [  0.50  0.00  0.00  0.50 -0.50 -0.50  ] |\n| p \u003c 0.66    | [  0.50  0.00  0.00  0.50  0.00  0.50  ] |\n| p \u003c 1.00    | [  0.50  0.00  0.00  0.50  0.50 -0.50  ] |\n\n```cmd\nTime (mean ± σ):     377.3 ms ±  26.8 ms    [User: 353.2 ms, System: 16.8 ms]\nRange (min … max):   350.7 ms … 432.0 ms    10 runs\n```\n\n# Other Examples\n\n## Tree\n![Tree](samples/tree.png)\n**Parameters:** [tree](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/tree.json)\n\n## Seaweed\n![Seaweed](samples/seaweed.png)\n**Parameters:** [seaweed](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/seaweed.json)\n\n## Julia (Dragon)\n![Julia Dragon](samples/julia-dragon.png)\n**Parameters:** [julia-dragon](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-dragon.json)\n\n## Julia (Siegel Disk)\n![Julia Siegel Disk](samples/julia-siegel.png)\n**Parameters:** [julia-siegel](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-siegel.json)\n\n## Julia (Flower)\n![Julia Flower](samples/julia-flower.png)\n**Parameters:** [julia-flower](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-flower.json)\n\n## Mandelbrot (Histogram coloring)\n![Mandelbrot Histogram](samples/mandelbrot-histogram.png)\n**Parameters:** [mandelbrot-histogram](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot-histogram.json)\n\n## Chrysantemum (Julia)\n![Chrysantemum](samples/chrysantemum.png)\n**Parameters:** [chrysantemum](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/chrysantemum.json)\n\n## Cross Snowflakes\n![Cross Snowflakes](samples/cross-snowflakes.png)\n**Parameters:** [cross-snowflakes](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/cross-snowflakes.json)\n\n## Crystal\n![Crystal](samples/crystal.png)\n**Parameters:** [crystal](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/crystal.json)\n\n## Dendrite (Julia)\n![Dendrite](samples/dendrite.png)\n**Parameters:** [dendrite](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/dendrite.json)\n\n## EKG (Julia)\n![EKG](samples/ekg.png)\n**Parameters:** [ekg](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/ekg.json)\n\n## Snowflakes (Julia)\n![Snowflakes](samples/julia-snowflakes.png)\n**Parameters:** [julia-snowflakes](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-snowflakes.json)\n\n## Sine (Julia)\n![Sine](samples/julia-sin.png)\n**Parameters:** [julia-sin](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-sin.json)\n\n## Cosine (Julia)\n![Cosine](samples/julia-cos.png)\n**Parameters:** [julia-cos](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-cos.json)\n\n## Dragon Curve\n![Dragon Curve](samples/dragon-curve.png)\n**Parameters:** [dragon-curve](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/dragon-curve.json)\n\n## Julia (1/z|Conjugate)\n![Julia (1/z|Conjugate)](samples/julia-funcs.png)\n**Parameters:** [julia-funcs](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-funcs.json)\n\n## Julia (c * fn(z))\n![Julia (c * fn(z)](samples/julia-func.png)\n**Parameters:** [julia-func](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia-func.json)\n\n## Julia 6\n![Julia 6](samples/julia6.png)\n**Parameters:** [julia6](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/julia6.json)\n\n## Koch Curve\n![Koch Curve](samples/koch.png)\n**Parameters:** [koch](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/koch.json)\n\n## Koch Triangle\n![Koch Triangle](samples/koch-triangle.png)\n**Parameters:** [koch-triangle](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/koch-triangle.json)\n\n## Koch (Mix)\n![Koch (Mix)](samples/kochmix.png)\n**Parameters:** [kochmix](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/kochmix.json)\n\n## Leaf\n![Leaf](samples/leaf.png)\n**Parameters:** [leaf](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/leaf.json)\n\n## Leaf 2\n![Leaf 2](samples/leaf2.png)\n**Parameters:** [leaf2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/leaf2.json)\n\n## Levy Curve\n![Levy Curve](samples/levy-curve.png)\n**Parameters:** [levy-curve](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/levy-curve.json)\n\n## Mandelbrot (Sine)\n![Mandelbrot (Sine)](samples/mandelbrot-func.png)\n**Parameters:** [mandelbrot-func](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot-func.json)\n\n## Mandelbrot (Sqr|Cos)\n![Mandelbrot (Sqr|Cos)](samples/mandelbrot-funcs.png)\n**Parameters:** [mandelbrot-funcs](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot-funcs.json)\n\n## Mandelbrot (1/z^4)\n![Mandelbrot (1/z^4)](samples/mandelbrot-reciprocal.png)\n**Parameters:** [mandelbrot-reciprocal](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/mandelbrot-reciprocal.json)\n\n## Maple\n![Maple](samples/maple.png)\n**Parameters:** [maple](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/maple.json)\n\n## Pascal Hadamard\n![Maple](samples/pascal-hadamard.png)\n**Parameters:** [pascal-hadamard](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/pascal-hadamard.json)\n\n## Pentagon\n![Pentagon](samples/pentagon.png)\n**Parameters:** [pentagon](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/pentagon.json)\n\n## Mandelbrot sinh^2(z)\n![Mandelbrot sinh^2(z)](samples/sinh.png)\n**Parameters:** [sinh](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/sinh.json)\n\n## Snowflakes\n![Snowflakes](samples/snowflakes.png)\n**Parameters:** [snowflakes](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/snowflakes.json)\n\n## Tree 2\n![Tree2](samples/tree2.png)\n**Parameters:** [tree2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/tree2.json)\n\n## Newton\n![Newton](samples/newton.png)\n**Parameters:** [newton](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/newton.json)\n\n## Newton IV\n![Newton IV](samples/newton4.png)\n**Parameters:** [newton4](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/newton4.json)\n\n## Barnsley Tree\n![Barnsley Tree](samples/barnsleytree.png)\n**Parameters:** [barnsleytree](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/barnsleytree.json)\n\n# Biomorphs\n\n## Biomorph M (Mandelbrot)\n![Biomorph (Mandelbrot)](samples/biomorph-mandelbrot.png)\n**Parameters:** [biomorph-mandelbrot](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-mandelbrot.json)\n\n## Biomorph 1 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia.png)\n**Parameters:** [biomorph-julia](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia.json)\n\n## Biomorph 2 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia2.png)\n**Parameters:** [biomorph-julia2](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia2.json)\n\n## Biomorph 3 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia3.png)\n**Parameters:** [biomorph-julia3](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia3.json)\n\n## Biomorph 4 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia4.png)\n**Parameters:** [biomorph-julia3](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia4.json)\n\n## Biomorph 5 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia5.png)\n**Parameters:** [biomorph-julia5](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia5.json)\n\n## Biomorph 6 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia6.png)\n**Parameters:** [biomorph-julia6](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia6.json)\n\n## Biomorph 7 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia7.png)\n**Parameters:** [biomorph-julia7](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia7.json)\n\n## Biomorph 8 (Julia)\n![Biomorph (Julia)](samples/biomorph-julia8.png)\n**Parameters:** [biomorph-julia8](https://github.com/daelsepara/sdl-fractals/tree/main/src/parameters/biomorph-julia8.json)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaelsepara%2Fsdl-fractals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaelsepara%2Fsdl-fractals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaelsepara%2Fsdl-fractals/lists"}