Building a 3D graphics renderer from linear algebra fundamentals.
Timeline
2025
Role
Solo Developer
Tools
Python, Linear Algebra, NumPy
For my 21-241 (Linear Algebra) final project, I created a 3D wireframe renderer from scratch (no 3D graphics libraries).
This project implements 3D transformations, perspective projection, and rasterization algorithms entirely from linear algebra.
3D wireframe rendering in action. Perspective projection is achieved through homogeneous coordinates, and the renderer performs depth sorting for correct occlusion handling. All calculations are performed in pure Python using NumPy for linear algebra operations.


Left: A rotating 3D cube, demonstrating edge culling to hide back-facing edges. Right: The Cathedral of Learning, an iconic skyscraper at UPitt in Pittsburgh.
For more technical details: 3D points are represented as homogeneous coordinates and transformed using 4x4 transformation matrices. The projection pipeline converts 3D coordinates to 2D screen space through perspective division.
