Giter Site home page Giter Site logo

42porto_fdf's Introduction

42Porto_FdF

FdF Wireframe model is a C project from the 42 School Common Core Program. The main goal of this project is to build a program that can receive a text input as a matrix and convert it to a graphical wireframe representation using the coordinates of each matrix value (x, y, z and color). Showing the result in a isometric perspective to be able to demonstrate the 3d perspective. For more detailed information, look at the subject of this project.

How to use it

Getting Started

MasterHead You just need to download or clone this git repository. [email protected]:Uatilla/42Porto_FdF.git

Dependencies

To properly run this code you must have the MiniLibX files in the right place, so first you need to extract the file Source Files/minilibx-linux.tgz to the folder: Project Files/libraries. Once done, rename the folder from minilibx-linux to mlx, to know more about what is the MiniLibX library and how it works, please go to this link: 42 Docs. Now you can run the program properly, using the following steps:

  • Go to the folder Project Files.

  • Run make to build all necessary files.

  • Then run ./fdf ./maps/<select one map>, you should select one map from the files available in the maps folder, for example:

  • ./fdf ./maps/t2.fdf.

  • The result must the following: Screenshot from 2024-05-31 12-06-22

  • Once done, the program will run and the map will be show in a isometric perspective, you can now close pressing ESC or clicking on the close icon (X) on the window.

  • To delete all files built except the library you can run: make clean.

  • To delete all files built including the library you can run: make fclean.

  • To delete all .o files, library, and rebuild the files to run the program again, run: make re.

Rules

Norminette:

The Norminette is a tool provided by 42 Network to check whether the source code complies with the school's norm. The rules include the prohibition of ‘for’ loops, a limit of 25 lines, and no more than 4 parameters in each function, among other specifications.

Here is a link to more details about what is evaluated by the Norminette tool.

Sources

  • MiniLibX Guideline: Many thank for Andre hernandez (Check his Github) who built the blog pulgamecanica that help me a lot understand how the MiniLibX works from scratch, you can check it out his amazing blog in these post link and link.

  • Bresenham Algorithm: The wikipedia article helped me understand how the lines are drawn once only the dots coordinates are known link.

Contributing

Contributions to the project are welcome! If you have any ideas, improvements, or bug fixes, please submit them as issues or pull requests to this repository.

Welcome to my new brave world!

00100010 01000010 01100101 00100000 01110111 01100001 01110100 01100101 01110010 00100000 01101101 01111001 00100000 01100110 01110010 01101001 01100101 01101110 01100100 00100010 00100000 01000010 01110010 01110101 01100011 01100101 00100000 01001100 01100101 01100101

About me

  • 👋 I'm Uatilla Viana Almeida.
  • 🌱 I'm currently studying Common Core at 42 Porto after successfully completing the Piscine.
  • 👀 I'm interested in Bitcoin, Games and Sports of all kinds.
  • 🚀 Additionally, I have an interest in AI, Python, Data Analysis and Project Management.
  • 📫 You can reach me on LinkedIn.
  • 🤔 Feeling amazing about how AI can help our society.

Skills

uatilla

 uatilla

uatilla

42porto_fdf's People

Contributors

uatilla 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.