Fdf is a program that creates simplified 3D graphic representation of a relief landscape using MiniLibX library. Subject can be found here.
FDF is short for ’fil de fer’ in French which means ’wireframe model’.
- Create a basic computer graphics project
- Learn about mapping
- Drawing lines in 3D using maths
- Implement axis rotation, zoom and transmittion
Motion_effect.mov
Run the following commands in Terminal:
# to build
> make
# to run
> ./fdf test_maps/julia.fdf
The program accepts a map in .fdf
file as argument. Those files can be found at test_maps/
folder. Those include lines of numbers separated by spaces (sometimes with HEX colour codes) representing height of the points on map.
To close window press esc
.
Use [+]
& [-]
to zoom in and out
Use [a]
& [d]
to rotate on x-axis
Use [s]
& [w]
to rotate on y-axis
Use [scroll up]
& [scroll down]
to rotate on z-axis
Press [↑]
to move upwards
Press [↓]
to move downwards
Press [←]
to move left
Press [→]
to move right
![Screen Shot 2024-03-24 at 4 52 39 PM](https://private-user-images.githubusercontent.com/101641443/316309844-30a86f3b-b7c7-4c41-81db-647471eaceb2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzA5ODQ0LTMwYTg2ZjNiLWI3YzctNGM0MS04MWRiLTY0NzQ3MWVhY2ViMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mYzNlODM4OGEzYzg2ODE0OTU5Y2YyYjZiMGI0NDViOTIxMjExZDJmNzg0MTliZGIwM2UzYjg3M2I5NTZiMzFkJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.aAe5N5kOCGb4Uj_6gKs35_1O4PxSvz0OQspks-s04mY)
![Screen Shot 2024-03-23 at 11 07 14 AM](https://private-user-images.githubusercontent.com/101641443/316310036-5ec68623-1972-4377-a9ed-b401c7b9e66a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzEwMDM2LTVlYzY4NjIzLTE5NzItNDM3Ny1hOWVkLWI0MDFjN2I5ZTY2YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zOGZhYzcxY2VhZTBiZGRhOTUyMmM1NzNhM2U2OWI4OWQ3NjEyZGFhZWVhOWZhYWRjODI5YjA0YzJkYmVlZjQxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.xlDa3mp4LdMs46sdFBnpz-tbLF1kw_beAwCp9vCv0io)
![Screen Shot 2024-03-23 at 11 17 07 AM](https://private-user-images.githubusercontent.com/101641443/316310059-38fad0c4-a1ef-4e52-8556-e3619a03b00f.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzEwMDU5LTM4ZmFkMGM0LWExZWYtNGU1Mi04NTU2LWUzNjE5YTAzYjAwZi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yODljNGJlNWZjZjMxMzQ3MzY2NDFlOTg3YmZhYjhlMGQ3M2U1MWI1MGExYTMwMjdiZGU1MTBiMjcxZDJmYTA3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.6KjlcibB1F3TQTVJsxcoQzHEBxzT6S5HurxCGHdLKjE)
![Screen Shot 2024-03-24 at 5 09 25 PM](https://private-user-images.githubusercontent.com/101641443/316310904-fdab6fa4-9cc0-4001-ba2b-f0ee12bb4b82.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzEwOTA0LWZkYWI2ZmE0LTljYzAtNDAwMS1iYTJiLWYwZWUxMmJiNGI4Mi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1mMTVhNjU0NjZhYmFhNzlhNzIxNmQwOWZhZWMyYTU5ZTliNDdjNDE0NDAxYWU3MDgyNjM5M2FjYzRjZDE1M2Y3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.JRP7N8Y9OSEgPUz8abO4XmeMXn2F8GDa675feob3ruo)
![Screen Shot 2024-03-24 at 5 05 00 PM](https://private-user-images.githubusercontent.com/101641443/316310912-8e0f39ee-9f5c-4299-a319-2cdf922b111c.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzEwOTEyLThlMGYzOWVlLTlmNWMtNDI5OS1hMzE5LTJjZGY5MjJiMTExYy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNmNhYWY3ZTBlMTMxYjNkZDA3OTdjODBmOTQ5YTZkNzM3MmUyZGM4N2RlYjlmNTQwNTgyN2EyNGE4YWQwZDJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.Q81rD_0HVBLOCTrObgwD_-LlgciGjsb3elVmqxzJ8aU)
![Screen Shot 2024-03-24 at 5 03 45 PM](https://private-user-images.githubusercontent.com/101641443/316310919-c3d3c1d1-75ef-48dd-a6f8-255287295101.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTcxMjIsIm5iZiI6MTcyMzA1NjgyMiwicGF0aCI6Ii8xMDE2NDE0NDMvMzE2MzEwOTE5LWMzZDNjMWQxLTc1ZWYtNDhkZC1hNmY4LTI1NTI4NzI5NTEwMS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwODA3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDgwN1QxODUzNDJaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jNmUyMzM3MzU3ZmI4YjQ0ZGM1YzQ0YzcyZmVhZjZhZjk1OTcyMzUxZmI0NzMzMGJhNGE2MWI4ZjlkNGNhODJjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.k5lQgsmGnB0RnQSnAHgpJPY8Of-j6dTcabUqaEldqHw)