/Fdf

Wireframe model graphic representation.

Primary LanguageC

Fdf - Wireframe model

The representation in 3D of a landscape is a critical aspect of modern mapping.

For example, in these times of spatial exploration, to have a 3D representation of Mars is a prerequisite condition to its conquest.

As another example, comparing various 3D representations of an area of high tectonic activity will allow you to better understand these phenomena and their evolution, and as a result, be better prepared.

It was my turn to modelize some 3D magnificent landscapes, imaginary or not.

Screenshot

Mandatory part

This project is about creating a simple wireframe model representation of a 3D land- scape by linking various points (x, y, z) thanks to line segments (edges).

The project must comply with the following rules:

• You must use the MiniLibX. Either the version available on the school machines, or installing it using its sources.

• You have to turn in a Makefile which will compile your source files. It must not relink.

• Global variables are forbidden.

Rendering :

The program has to represent the model in isometric projection. The coordinates of the landscape are stored in a .fdf file passed as a parameter to your program.

Each number represents a point in space:

• The horizontal position corresponds to its axis.

• The vertical position corresponds to its ordinate.

• The value corresponds to its altitude.

Screenshot

Graphic management :

• The program has to display the image in a window.

• The management of your window must remain smooth (changing to another window, minimizing, and so forth).

• Pressing ESC must close the window and quit the program in a clean way.

• Clicking on the cross on the window’s frame must close the window and quit the program in a clean way.

• The use of the images of the MiniLibX is mandatory.

Bonus part

"Usually, you would be encouraged to develop your own original extra features. However, there will be much more interesting graphic projects later. They are waiting for you!! Don’t lose too much time on this assignment!"

"You are allowed to use other functions to complete the bonus part as long as their use is justified during your evaluation. Be smart!"

You will get some extra points if you can: • Include one extra projection (such as parallel or conic)!

• Zoom in and out.

• Translate your model.

• Rotate your model.

• Add one more bonus of your choice.

Screenshot

For my project, i chose to implement a Commands Menu, helping the user to navigate and making the project more intuitive to use.

Then, i included some more key handlings for different types of zooms, translation, and rotation, trying to bring some life into my projection.

I had a lot of fun doing this project, discovering graphics and the use of libs, and i can't wait to dive deeper into it!

Final Result : 125/100