So as it turns out, I have been doing 3D rotation completely wrong all these years. For a rotation θ of x,y, I did (sin(arctan(x/y)+θ)sqrt(x^2+y^2), cos(arctan(x/y)+θ)sqrt(x^2+y^2)), when I could've been doing (xcosθ-ysinθ, xsinθ+ycosθ). This second method is a lot more concise, and A LOT faster. I can speed up 3D projection projects now by A LOT.
OMG, IT'S FEATURED! Thanks to @Scratch-Minion for suggesting it to be featured! Everything programmed by me, I made the ball sprite in Blender3D and rendered it in the Eevee render engine. NOTE: This is my very first project in which I implement z-sorting to reorder the positions. Featured on November 28, Thanksgiving 2019! 1000 views on November 28! 2000 views on November 28!! - now my most viewed project! 100 favorites on November 28!!! 200 loves on November 28!!!! 3000 views on November 28!!!!! 4000 views on November 28!!!!!! I woke up on November 29... with 10,500 views!! Thanks!!! 12,500 views on November 29!! 16,831 views when I woke up on November 30! 1,000 loves December 1st! 22,000 views on December 1st! 37,000 views on December 3rd! 60,000 views on December 20th! 2,000 loves December 21! And as we approach Christmas of 2019, the activity plateaus.