{"id":29133007,"url":"https://github.com/xanstar6067/fractalexplorer","last_synced_at":"2025-06-30T07:02:21.664Z","repository":{"id":300908787,"uuid":"996617075","full_name":"xanstar6067/FractalExplorer","owner":"xanstar6067","description":"Большой проект по объединению программ генерации фракталов. A large project to combine fractal generation programs.","archived":false,"fork":false,"pushed_at":"2025-06-24T08:11:42.000Z","size":831,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-06-24T08:24:30.943Z","etag":null,"topics":["burning-ship","burning-ship-set","csharp","custom-rendering-style","decimal-arithmetic","fractal","fractal-renderer","fractals","graphics","julia-set","mandelbrot-set","math","multithreading","parallel-computing","simulation","visual-studio","visualization","winforms"],"latest_commit_sha":null,"homepage":"","language":"C#","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/xanstar6067.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,"zenodo":null}},"created_at":"2025-06-05T07:54:15.000Z","updated_at":"2025-06-24T08:11:45.000Z","dependencies_parsed_at":"2025-06-24T08:34:47.614Z","dependency_job_id":null,"html_url":"https://github.com/xanstar6067/FractalExplorer","commit_stats":null,"previous_names":["xanstar6067/fractalexplorer"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/xanstar6067/FractalExplorer","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xanstar6067%2FFractalExplorer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xanstar6067%2FFractalExplorer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xanstar6067%2FFractalExplorer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xanstar6067%2FFractalExplorer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xanstar6067","download_url":"https://codeload.github.com/xanstar6067/FractalExplorer/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xanstar6067%2FFractalExplorer/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262727708,"owners_count":23354665,"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":["burning-ship","burning-ship-set","csharp","custom-rendering-style","decimal-arithmetic","fractal","fractal-renderer","fractals","graphics","julia-set","mandelbrot-set","math","multithreading","parallel-computing","simulation","visual-studio","visualization","winforms"],"created_at":"2025-06-30T07:01:52.043Z","updated_at":"2025-06-30T07:02:21.604Z","avatar_url":"https://github.com/xanstar6067.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fractal Explorer\n\nWelcome to Fractal Explorer! This is a Windows Forms application written in C# that allows you to generate, explore, and customize various types of beautiful fractal images.\n\n## 🌟 Key Features\n\n*   **Variety of Fractals:** Explore classic and lesser-known fractals:\n    *   Mandelbrot Set\n    *   Julia Set (with interactive 'C' constant selection)\n    *   Burning Ship (Mandelbrot and Julia versions)\n    *   Serpinski Triangle (Geometric method and Chaos Game)\n    *   Newton Pools (with the ability to input custom formulas)\n*   **Interactive Navigation:**\n    *   Smooth zooming using the mouse wheel.\n    *   Panning the image by dragging with the mouse.\n*   **Deep Parameter Customization:**\n    *   Control the number of iterations and escape threshold.\n    *   Adjust the 'C' constant for Julia sets using a visual selector on a preview of the Mandelbrot or Burning Ship set.\n    *   Select the number of CPU threads to speed up rendering.\n*   **Advanced Color Management:**\n    *   **For Mandelbrot/Julia Family:**\n        *   Powerful palette editor: create, edit, and save custom palettes.\n        *   Support for gradient and discrete (cyclic) palettes.\n        *   A set of built-in palettes for a quick start.\n        *   Saving custom palettes in JSON format.\n    *   **For Newton Pools:**\n        *   Specialized color settings for each root of the equation.\n        *   Background color selection.\n        *   Toggle between gradient and discrete coloring for basins.\n        *   Save and load custom palettes for Newton fractals.\n    *   **For Serpinski Triangle:**\n        *   Choice of rendering mode: black \u0026 white, grayscale, custom colors for fractal and background.\n*   **Rendering and Saving:**\n    *   Tile-based rendering for previews with process visualization.\n    *   Multi-threaded rendering for efficient use of CPU resources.\n    *   Save fractals in high resolution (PNG) with customizable dimensions.\n    *   Progress bars for rendering and saving operations.\n*   **Custom Input for Newton Pools:**\n    *   Built-in parser for mathematical expressions (complex functions `f(z)`).\n    *   Ability to choose from preset formulas or input your own.\n    *   Display of parser debug information and found roots.\n*   **High-Precision Math:**\n    *   Use of a custom `ComplexDecimal` type for high-precision complex number operations (based on `decimal`).\n\n## 🚀 Implemented Fractals\n\n*   **Mandelbrot Set:** `z = z² + c`\n*   **Julia Set:** `z = z² + c` (with a selectable constant `c`)\n*   **Burning Ship (Mandelbrot):** `z = (|Re(z)| + i * |-Im(z)|)² + c`\n*   **Burning Ship (Julia):** `z = (|Re(z)| + i * |-Im(z)|)² + c` (with a selectable constant `c`)\n*   **Serpinski Triangle:**\n    *   Geometric method (recursive construction)\n    *   \"Chaos Game\" (stochastic method)\n*   **Newton Pools:** Iterative Newton's method for finding roots of complex functions `f(z)`. Regions are colored based on which root the point converges to.\n\n## 🛠️ Technical Details\n\n*   **Language:** C#\n*   **Platform:** .NET Windows Forms\n*   **Rendering:**\n    *   Tile-based system for incremental display.\n    *   Multithreading to accelerate calculations.\n    *   Visualizer for the tile rendering process.\n*   **Mathematics:**\n    *   Custom `ComplexDecimal` structure for high-precision complex numbers.\n    *   Mathematical expression parser for the Newton fractal (supports numbers, variable 'z', 'i', and operators `+`, `-`, `*`, `/`, `^`).\n*   **Palettes:**\n    *   Serialization of custom palettes to JSON using a custom `JsonColorConverter`.\n\n## 🖥️ How to Use\n\n1.  Launch the application `FractalExplorer.exe`.\n2.  In the main window (\"Fractal Manager\" / \"Менеджер фракталов\"), select the fractal type you are interested in from the tabs.\n3.  Click the \"Launch\" button for the respective fractal.\n4.  In the opened fractal window:\n    *   Adjust parameters (iterations, zoom, 'C' constant for Julia, etc.) on the left panel.\n    *   Configure the color palette (if available for the given fractal type).\n    *   Use the mouse wheel to zoom and the left mouse button to pan the view.\n    *   Click \"Render\" to update the image with new parameters.\n    *   Save your favorite images in high resolution.\n\n## 🖼️ Screenshots\n\n\u003cdiv class=\"gallery\"\u003e\n  \u003ca href=\"Pictures/HubMainWindow.png\"\u003e\n    \u003cimg src=\"Pictures/HubMainWindow.png\" alt=\"Hub Main Window\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Mandelbrot.png\"\u003e\n    \u003cimg src=\"Pictures/Mandelbrot.png\" alt=\"Mandelbrot\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/MandelbrotBurningShip.png\"\u003e\n    \u003cimg src=\"Pictures/MandelbrotBurningShip.png\" alt=\"Mandelbrot Burning Ship\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Julia.png\"\u003e\n    \u003cimg src=\"Pictures/Julia.png\" alt=\"Julia\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/JuliaBurningShip.png\"\u003e\n    \u003cimg src=\"Pictures/JuliaBurningShip.png\" alt=\"Julia Burning Ship\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Serpinski.png\"\u003e\n    \u003cimg src=\"Pictures/Serpinski.png\" alt=\"Serpinski\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/NewtonPools.png\"\u003e\n    \u003cimg src=\"Pictures/NewtonPools.png\" alt=\"Newton Pools\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cstyle\u003e\n  .gallery {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n  }\n  .gallery img {\n    border: 1px solid #ddd;\n    padding: 5px;\n    transition: transform 0.2s;\n  }\n  .gallery img:hover {\n    transform: scale(1.1);\n  }\n  a {\n    text-decoration: none;\n  }\n\u003c/style\u003e\n\n## 📜 License\n\nThis project is distributed under the Apache 2.0 license. The full text of the license is available in [LICENSE.md](LICENSE.md).\n\n# Исследователь Фракталов (Fractal Explorer)\n\nДобро пожаловать в \"Исследователь Фракталов\"! Это приложение для Windows Forms, написанное на C#, позволяет генерировать, исследовать и настраивать различные типы красивых фрактальных изображений.\n\n## 🌟 Ключевые Возможности\n\n*   **Разнообразие Фракталов:** Исследуйте классические и менее известные фракталы:\n    *   Множество Мандельброта\n    *   Множество Жюлиа (с интерактивным выбором константы 'C')\n    *   Горящий Корабль (версии Мандельброта и Жюлиа)\n    *   Треугольник Серпинского (геометрический метод и \"Игра Хаоса\")\n    *   Бассейны Ньютона (с возможностью ввода собственных формул)\n*   **Интерактивная Навигация:**\n    *   Плавное масштабирование с помощью колеса мыши.\n    *   Панорамирование изображения перетаскиванием мыши.\n*   **Глубокая Настройка Параметров:**\n    *   Управление количеством итераций и порогом выхода.\n    *   Настройка константы 'C' для множеств Жюлиа с помощью визуального селектора на превью множества Мандельброта или Горящего Корабля.\n    *   Выбор количества потоков ЦП для ускорения рендеринга.\n*   **Продвинутая Работа с Цветом:**\n    *   **Для семейства Мандельброта/Жюлиа:**\n        *   Мощный редактор палитр: создавайте, редактируйте и сохраняйте пользовательские палитры.\n        *   Поддержка градиентных и дискретных (циклических) палитр.\n        *   Набор встроенных палитр для быстрого старта.\n        *   Сохранение пользовательских палитр в формате JSON.\n    *   **Для Бассейнов Ньютона:**\n        *   Специализированная настройка цветов для каждого корня уравнения.\n        *   Выбор цвета фона.\n        *   Переключение между градиентной и дискретной окраской бассейнов.\n        *   Сохранение и загрузка пользовательских палитр для Ньютона.\n    *   **Для Треугольника Серпинского:**\n        *   Выбор режима отрисовки: черно-белый, оттенки серого, пользовательские цвета для фрактала и фона.\n*   **Рендеринг и Сохранение:**\n    *   Плиточный (тайловый) рендеринг для предпросмотра с визуализацией процесса.\n    *   Многопоточный рендеринг для эффективного использования ресурсов ЦП.\n    *   Сохранение фракталов в высоком разрешении (PNG) с настраиваемыми размерами.\n    *   Прогресс-бары для операций рендеринга и сохранения.\n*   **Пользовательский Ввод для Бассейнов Ньютона:**\n    *   Встроенный парсер для математических выражений (комплексные функции `f(z)`).\n    *   Возможность выбора из предустановленных формул или ввода своей собственной.\n    *   Отображение отладочной информации парсера и найденных корней.\n*   **Высокоточная Математика:**\n    *   Использование пользовательского типа `ComplexDecimal` для операций с комплексными числами повышенной точности (на основе `decimal`).\n\n## 🚀 Реализованные Фракталы\n\n*   **Множество Мандельброта:** `z = z² + c`\n*   **Множество Жюлиа:** `z = z² + c` (с выбираемой константой `c`)\n*   **Горящий Корабль (Мандельброт):** `z = (|Re(z)| + i * |-Im(z)|)² + c`\n*   **Горящий Корабль (Жюлиа):** `z = (|Re(z)| + i * |-Im(z)|)² + c` (с выбираемой константой `c`)\n*   **Треугольник Серпинского:**\n    *   Геометрический метод (рекурсивное построение)\n    *   \"Игра Хаоса\" (стохастический метод)\n*   **Бассейны Ньютона:** Итерационный метод Ньютона для поиска корней комплексных функций `f(z)`. Области окрашиваются в зависимости от того, к какому корню сходится точка.\n\n## 🛠️ Технические Детали\n\n*   **Язык:** C#\n*   **Платформа:** .NET Windows Forms\n*   **Рендеринг:**\n    *   Плиточная (тайловая) система для инкрементального отображения.\n    *   Многопоточность для ускорения вычислений.\n    *   Визуализатор процесса рендеринга плиток.\n*   **Математика:**\n    *   Пользовательская структура `ComplexDecimal` для высокоточных комплексных чисел.\n    *   Парсер математических выражений для фрактала Ньютона (поддерживает числа, переменную 'z', 'i' и операторы `+`, `-`, `*`, `/`, `^`).\n*   **Палитры:**\n    *   Сериализация пользовательских палитр в JSON с использованием кастомного `JsonColorConverter`.\n\n## 🖥️ Как Использовать\n\n1.  Запустите приложение `FractalExplorer.exe`.\n2.  В главном окне (\"Менеджер фракталов\") выберите интересующий вас тип фрактала из вкладок.\n3.  Нажмите кнопку \"Запустить\" для соответствующего фрактала.\n4.  В открывшемся окне фрактала:\n    *   Настройте параметры (итерации, масштаб, константу 'C' для Жюлиа и т.д.) на панели слева.\n    *   Настройте цветовую палитру (если доступно для данного типа фрактала).\n    *   Используйте колесо мыши для масштабирования и левую кнопку мыши для панорамирования области просмотра.\n    *   Нажмите \"Запустить рендер\" для обновления изображения с новыми параметрами.\n    *   Сохраняйте понравившиеся изображения в высоком разрешении.\n\n## 🖼️ Скриншоты\n\n\u003cdiv class=\"gallery\"\u003e\n  \u003ca href=\"Pictures/HubMainWindow.png\"\u003e\n    \u003cimg src=\"Pictures/HubMainWindow.png\" alt=\"Hub Main Window\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Mandelbrot.png\"\u003e\n    \u003cimg src=\"Pictures/Mandelbrot.png\" alt=\"Mandelbrot\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/MandelbrotBurningShip.png\"\u003e\n    \u003cimg src=\"Pictures/MandelbrotBurningShip.png\" alt=\"Mandelbrot Burning Ship\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Julia.png\"\u003e\n    \u003cimg src=\"Pictures/Julia.png\" alt=\"Julia\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/JuliaBurningShip.png\"\u003e\n    \u003cimg src=\"Pictures/JuliaBurningShip.png\" alt=\"Julia Burning Ship\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/Serpinski.png\"\u003e\n    \u003cimg src=\"Pictures/Serpinski.png\" alt=\"Serpinski\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"Pictures/NewtonPools.png\"\u003e\n    \u003cimg src=\"Pictures/NewtonPools.png\" alt=\"Newton Pools\" style=\"width:150px;\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cstyle\u003e\n  .gallery {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 10px;\n  }\n  .gallery img {\n    border: 1px solid #ddd;\n    padding: 5px;\n    transition: transform 0.2s;\n  }\n  .gallery img:hover {\n    transform: scale(1.1);\n  }\n  a {\n    text-decoration: none;\n  }\n\u003c/style\u003e\n\n## 📜 Лицензия\n\nЭтот проект распространяется под лицензией Apache 2.0. Полный текст лицензии доступен в [LICENSE.md](LICENSE.md).\n\n---\n\nProject AI generated\nПроект создан при помощи ИИ\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanstar6067%2Ffractalexplorer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxanstar6067%2Ffractalexplorer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanstar6067%2Ffractalexplorer/lists"}