Fun demo!
This reminds me of when I realized I needed real math to achieve the 3D look - because when I wrote similar things, something bugged me about where the actual "point of view" is located, and I come here to say this is not quite the idea to be studying if people want to really advance into the third dimension. Follow me.
This demo is showing a rotating mass of balls - here is the kicker - as viewed from "infinity". (By "infinity" I mean the user's eye is very very far away from the thing being looked at.) When you look at this scene, every single ball is in front of you - the only reason to not see any particular ball is when it goes off the side of the screen, right? But this is an incomplete implementation of 3D... In other words, why aren't any balls disappearing as they get too close to the user's eye and pass outside of our cone of vision? That is, why doesn't it feel like I can "fly through" this thing? I'm always watching it from far away. Feel me? In other words, if you were to try to make, whatever, a Wolfenstein engine with this as a starting point, you would see the entire level at all times. You could never get the walls behind you.
Honestly it took me a few years to go from what you've got here to what you see in Sanctum. It all changed when I wrote this note to myself: