This is a simple 3d renderer.
It is completely made by me from scratch without looking up tutorial or guides or computer graphics courses/books. Every part is implemented probably in the worst way possible but again, I am not lookin for optimal code, I am doing this just for fun. I even "reinvented" the triangle rendering algorithm which is in fact the slowest on earth but at least its 100% made by me :)\ The only part I completely copied is the plane-line intersection formula found on Wikipedia. I could derive that personally but I am lazy (still not enough to stop me coding a 3d renderer from scratch).
Below is a clearly self-explanatory (not so much but still cute) cheme of how it works. Below is a render of suzanne.