{"id":22153183,"url":"https://github.com/dpetrosy/42-fractol","last_synced_at":"2025-03-24T13:42:27.557Z","repository":{"id":226481677,"uuid":"768811250","full_name":"dpetrosy/42-Fractol","owner":"dpetrosy","description":"42 School Fractol project: Fractal generator using MLX library.","archived":false,"fork":false,"pushed_at":"2024-03-20T15:50:10.000Z","size":5278,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-29T18:46:40.383Z","etag":null,"topics":["42","42-fractol","42cursus","42fractol","42projects","42school","42yerevan","burning-ship","c","complex-numbers","fract-ol","fractal-rendering","fractals","fractol","fractol-42","julia-set","mandelbox","mandelbrot","mathematics","minilibx"],"latest_commit_sha":null,"homepage":"","language":"C","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/dpetrosy.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":"2024-03-07T19:23:22.000Z","updated_at":"2025-01-15T23:55:52.000Z","dependencies_parsed_at":"2025-01-29T18:42:32.563Z","dependency_job_id":"af0ed22a-5853-45cc-bd18-ffe3a146d7b1","html_url":"https://github.com/dpetrosy/42-Fractol","commit_stats":null,"previous_names":["dpetrosy/42-fractol"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpetrosy%2F42-Fractol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpetrosy%2F42-Fractol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpetrosy%2F42-Fractol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dpetrosy%2F42-Fractol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dpetrosy","download_url":"https://codeload.github.com/dpetrosy/42-Fractol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245283856,"owners_count":20590299,"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":["42","42-fractol","42cursus","42fractol","42projects","42school","42yerevan","burning-ship","c","complex-numbers","fract-ol","fractal-rendering","fractals","fractol","fractol-42","julia-set","mandelbox","mandelbrot","mathematics","minilibx"],"created_at":"2024-12-02T01:17:21.506Z","updated_at":"2025-03-24T13:42:27.535Z","avatar_url":"https://github.com/dpetrosy.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003c!-- Logo --\u003e\n  \u003ca href=\"https://github.com/dpetrosy/42-Fractol\"\u003e\n  \u003cimg src=\"README_files/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003c!-- Project Name --\u003e\n  \u003ch1\u003eFractol Project\u003c/h1\u003e\n\n  \u003c!-- Short Description --\u003e\n  \u003cp align=\"center\"\u003e\n\t  \u003cb\u003e42 Yerevan Fractol\u003c/b\u003e\u003cbr\u003e\n\t  For further information about 42cursus and its projects, please refer to \u003ca href=\"https://github.com/dpetrosy/42cursus\"\u003e\u003cb\u003e42cursus repo\u003c/b\u003e\u003c/a\u003e.\n  \u003c/p\u003e\n\n  \u003c!-- Badges --\u003e\n  \u003cp\u003e\n    \u003cimg src=\"https://img.shields.io/badge/score-125%20%2F%20100-success?style=for-the-badge\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/repo-size/dpetrosy/42-Fractol?style=for-the-badge\u0026logo=github\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/count/dpetrosy/42-Fractol?style=for-the-badge\u0026logo=\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/dpetrosy/42-Fractol?style=for-the-badge\" /\u003e\n    \u003cimg src=\"https://img.shields.io/github/last-commit/dpetrosy/42-Fractol?style=for-the-badge\" /\u003e\n  \u003c/p\u003e\n\n  \u003ch3\u003e\n      \u003ca href=\"#-about-project\"\u003e📜 About Project\u003c/a\u003e\n    \u003cspan\u003e · \u003c/span\u003e\n      \u003ca href=\"#-fractals-list\"\u003e📑 Fractals List\u003c/a\u003e\n    \u003cspan\u003e · \u003c/span\u003e\n\t  \u003ca href=\"#-controls\"\u003e🎮 Controls\u003c/a\u003e\n    \u003cspan\u003e · \u003c/span\u003e\n      \u003ca href=\"#-usage\"\u003e👨‍💻 Usage\u003c/a\u003e\n    \u003cspan\u003e · \u003c/span\u003e\n      \u003ca href=\"#-screenshots\"\u003e🌄 Screenshots\u003c/a\u003e\n  \u003c/h3\u003e\n\u003c/div\u003e\n\n---\n\n## 📜 About Project\n\n\u003e One of the first graphical projects at 42 School, fract-ol generates beautiful fractals from the complex numbers of \\\n\u003e an iterative mathematical construct. A fractal is a fragmented geometrical figure that infinitely repeats itself at \\\n\u003e smaller scales. This project uses the school's graphical library, MiniLibX.\n\nFor detailed information, refer to the [**subject of this project**](README_files/fractol_subject.pdf).\n\n\t🚀 TLDR: The fract-ol project is one of the three \"beginner\" graphical projects of the \n \t\t cursus. It teaches you about using graphic library, advanced math, and more.\n\n\u003e [!NOTE]  \n\u003e Because of 42 School norm requirements:\n\u003e * Each function can't have more than 25 lines of code.\n\u003e * All variables are declared and aligned at the top of each function.\n\u003e * Project should be created just with allowed functions otherwise it's cheating.\n\n## 📑 Fractals List\n\nThe program supports these fractal sets:\n\n| Name              | Formula                                                                                            |\n|:-----------------:|:--------------------------------------------------------------------------------------------------:|\n| Mandelbrot        | $z_{n+1} = z_n^2 + c, z_0 = 0$                                                                     |\n| Julia             | $z_{n+1} = z_n^2 + c, z_0 = c$                                                                     |\n| Burning Ship      | $z_{n+1} = abs(z_n^2) + c, z_0 = 0$                                                                |\n| Tricorn           | $z_{n+1} = \\frac{}{z_n}^2 + c, z_0 = 0$                                                            |\n| Mandelbox         | It's more complex, see [this article](https://sites.google.com/site/mandelbox/what-is-a-mandelbox) |\n| Celtic Mandelbar  | $z_{n+1} = \\frac{}{z_n}^2 + c, z_0 = c$                                                            |\n\n## 🎮 Controls\n\nThe program supports the following controls:\n\n| Key           | Description                             |\n|:-------------:|:---------------------------------------:|\n| ESC           | Close the program window                |\n| Keys [1-6]    | Move to another fractal                 |\n| Keys [Q-Y]    | Change the color of fractal             |\n| Keys [A-H]    | Change the color of fractal             |\n| Mouse Scroll  | Zoom in and out of the fractal          |\n| ⬆️ ⬇️ ⬅️ ➡️     | Change the viewpoint                    |\n| Key L         | Lock Julia's fractal                    |\n| Zero          | Reset the fractal to its initial state  |\n\n## 👨‍💻 Usage\n### Requirements\n\nThe program is written in C language and thus needs the **gcc compiler** and some standard **C libraries** to run.\n\n### Instructions\n\n**1. Compiling the program**\n\nTo compile the program, run:\n\n```shell\n$ cd path/to/fractol \u0026\u0026 make\n```\n\n**2. How to run the program**\n\nRun the executable too see the help message:\n```shell\n./fractol\n```\n\nOr run with some supported fractal:\n```shell\n./fractol mandelbrot\n```\n\n# 🌄 Screenshots\n\n## Mandelbrot set\n![Fractal mono-colored Mandelbrot](README_files/screenshots/mandelbrot1.png)\n![Fractal red blue and green striped Mandelbrot](README_files/screenshots/mandelbrot2.png)\n![Fractal sun crest purple Mandelbrot](README_files/screenshots/mandelbrot3.png)\n\n## Julia set\n![Fractal purple green and yellow Julia](README_files/screenshots/julia1.png)\n![Fractal red swirl Julia](README_files/screenshots/julia2.png)\n![Fractal blue snowflake Julia](README_files/screenshots/julia3.png)\n\n## Burning Ship set\n![Fract-ol golden Burning Ship](README_files/screenshots/burning_ship.png)\n\n## Tricorn set\n![Fract-ol purple Tricorn](README_files/screenshots/tricorn.png)\n\n## Mandelbox set\n![Fract-ol brown tribal Mandelbox](README_files/screenshots/mandelbox.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpetrosy%2F42-fractol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdpetrosy%2F42-fractol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdpetrosy%2F42-fractol/lists"}