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.
You just need to download or clone this git repository.
[email protected]:Uatilla/42Porto_FdF.git
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
. -
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
.
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.
-
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.
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.
- 👋 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
andSports
of all kinds. - 🚀 Additionally, I have an interest in
AI
,Python
,Data Analysis
andProject Management
. - 📫 You can reach me on LinkedIn.
- 🤔 Feeling amazing about how AI can help our society.