Fatih Çil

Self-Taught Developer

Software Engineer

Programmer

Game Developer

Fatih Çil

Self-Taught Developer

Software Engineer

Programmer

Game Developer

Blog Post

Fractals: A Journey with Fract-ol

May 30, 2022 Uncategorized

Introduction

You can access the code on Github

  Welcome to my blog! In this post, I want to share my experience developing the Fract-ol project during my time at École 42. Fract-ol is an exciting and visually stunning project that allowed me to dive deep into the world of fractals using the power of C programming language and the Minilibx library.

Understanding Fractals

  Fractals are fascinating mathematical structures that exhibit self-similarity at different scales. They are created through a process called iteration, where a mathematical formula is repeatedly applied to generate intricate and complex patterns. Fractals can be found in nature, architecture, and art, and exploring them can be a captivating and enlightening experience.

Setting The Foundation

  To embark on this project, I began by studying the fundamentals of fractals, their equations, and the algorithms used to render them. It was crucial to gain a solid understanding of concepts like the Mandelbrot set and the Julia set, as they are the building blocks of our project. Additionally, I familiarized myself with the C programming language and the Minilibx library, which provides a primary graphic user interface for rendering images.

Creating The UI

   The first step was to develop a user interface that would allow users to interact with the fractals. I utilized the Minilibx library to create a window where users could explore and navigate the fractal space. I implemented keyboard and mouse input handlers to enable zooming, panning, and adjusting parameters such as color schemes and iterations.

Rendering The Fractals

   To render the fractals, I implemented various algorithms, such as the Escape Time Algorithm and the Continuous Potential Algorithm. These algorithms iterate over each pixel in the display window and calculate the corresponding fractal value based on its coordinates. This value is then used to determine the color of the pixel, creating the intricate patterns that define fractals.

Implementing Zoom And Navigation

   One of the most exciting aspects of Fract-ol is the ability to zoom into the fractal space and explore the intricate details. I implemented zoom functionality by allowing users to click and drag a specific area of interest. This process involved recalculating the coordinates and iterations for the new zoomed-in area, providing a seamless and immersive experience.

Conclusion

   Developing the Fract-ol project was an exhilarating journey that allowed me to explore the fascinating world of fractals while sharpening my programming skills. It provided a unique blend of mathematical concepts, graphical programming, and user interaction, resulting in a visually stunning and immersive experience. Through this project, I gained a deeper appreciation for the beauty and complexity of fractals and learned how to translate mathematical concepts into captivating visuals. As a result, I implemented the algorithms of Mendelbrot, Julia and Multibrot fractals into my project and got to know that magical world closely 🙂

Related Posts
Write a comment