* Project runs much faster in TurboWarp: https://turbowarp.org/542258030?turbo * Else use Turbo Mode! (<Shift> key + Green Flag) Press <1> to view in best resolution (slow) Press <2> for medium resolution (slowish) Press <5> for low resolution (fast) like starting picture The 5 differently coloured tetrahedra intersect each other so that each triangle face is partially in front of and partially behind several other triangle faces. This makes the object hard to draw. My "Eureka moment" was to raytrace to each point on the screen to find the closest of the 20 triangles that make up the 5 tetrahedra compound and colour the point to match. Compound of 5 Tetrahedra: https://en.wikipedia.org/wiki/Compound_of_five_tetrahedra A regular dodecahedron has 12 pentagonal faces and 20 vertices. The 20 vertices of the 5 tetrahedra are the vertices of a dodecahedron. A "Ray Tracer" traces rays from the viewer through each pixel on the screen and calculates which object it hits first in 3D space (ie. which object is closest). The pixel is coloured with the colour of that object. For a ray to each (x,y) point on the screen, the code checks if and where the ray intersects each of the triangles that make up the 5 Tetrahedra Compound. The Z Intersect coordinate is calculated for each triangle intersection. The (x,y) point on the screen is coloured with the colour of the triangle with its Z Intersect coordinate closest to the viewer. My Ray Tracing Projects studio: https://scratch.mit.edu/studios/26312219/ Ray Madness - a super raytracing & raycasting studio: https://scratch.mit.edu/studios/25849210/