The aim of this challenge is to draw a cube in 3D and to make it rotate on the screen.
Drawing 3D shapes on a screen (2D) requires some mathematical formulas to convert 3D (x,y,z) coordinates into 2D coordinates (x,y). This conversion, also known as “oblique projection” is based on the following formulas:
This is a great application of trigonometry, especially of the SOCATOA formulas!
(Read more about trigonometric formulas.)
A 3D rotation against an axis (X, Y or Z axis) also requires some complex mathematical formulas. To apply a 3D rotation we can use the rotation matrix as follows:
To decide the angle and axis of rotation we use the position of the mouse pointer.
The X coordinate of the mouse pointer becomes the angle of rotation against the Y axis.
The Y coordinate of the mouse pointer becomes the angle of rotation against the X axis.
In this example we did not implement a rotation against the Z axis.
Add more edges to the code given above to create a full house including a roof, a front door and a window.