3D Engine
Description:
Built from scratch with Numpy and Pygame, this program displays simple .obj files. You can move the camera around with keyboard inputs. The framerate is displayed on the top bar.
The program uses the concept of linear transformations from Linear Algebra to project the object vectors into another 3D "camera-space", then finally onto the flat 2D "screen-space".
By applying linear transformations to the vectors of the camera, translations and rotations can be achieved, resulting in camera movement
Vectors are stored in groups as faces, allowing for a mesh to be drawn accross the object.