Coder Social home page Coder Social logo

tjensen42 / 42-fractol Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 103 KB

Fract`ol is one of the first computer graphics projects in the 42 core curriculum, where you work with the miniLibx-Library. The project is meant to create graphically beautiful fractals. It's really inspiring to dive into this topic and create some sort of psychedelic effects on the screen.

Makefile 4.56% C 79.20% Objective-C 16.23%
c fractal-algorithms fractals fractal-rendering 42project

42-fractol's Introduction

42-fractol

Fract`ol is on of the first computer graphics projects in the 42 core curriculum, where you work with the miniLibx-Library. The project is meant to create graphically beautiful fractals. Its really inspiring to dive into this topic and create some sort of psychedelic effects on the screen.

For further information about this topic I recommend to read this Bachelor Thesis from Luc de Jonckheere. It describes methods to generate the Mandelbrot and Julia sets efficiently and how to implement a good coloring. For me this thesis was really helpful to get a better understanding of the project.

๐Ÿงญ Start here

The only supported and tested operating system to compile this programm is macOS.

  1. Clone Repo and run: make release
  2. To see the possible arguments to run it, just start the "fractol": ./fractol

General example: ./fractol mandelbrot

  • [julia-fractal] start the programm with 2 additional arguments, for example: ./fractol julia 0.28 0.008

๐Ÿ•น Take the control:

Key / Input What it does
ARROWS move through the picture
. change color scheme
+ & - change the max iteration depth
SPACE BAR [just julia-fractal] hit it ones and you be able to move the mouse to change the julia constant
Num Keys (1, 2, 3, ...) change into different fractals
R reset to default parameters
ESC exit the Programm


Sample output:

Startup Screen / Fractal Mandelbrot

Seahorse paradise in Mandelbrot

Some random are in a fractal



*All 42 projects must be written in C (later C++) in accordance to the 42 School Norm.

Sample restrictions:

  • All variables have to be declared and aligned at the top of each function
  • Each function can not have more then 25 lines
  • Projects should be created with allowed std functions otherwise it is cheating

42-fractol's People

Contributors

tjensen42 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.