You can move with the WASD keys and you can move the camera with the arrow keys. Furthermore you can change the position of the light source using the sliders lx, ly and lz to change the x, y and z position of the light source respectively. The r,θ,φ variables control where the camera is located relative to you. The r variable can be thought of as a zooming variable, θ rotates the camera to the left and the right, while φ rotates the camera up and down. Your own position is defined by the variables x, y and z. With the PenSize variable you can change how pixelated the scene looks, the bigger it is the more pixelated the scene becomes, but also the faster the program runs. If you choose a small value for the pen size, you will get a sharp image, but it will take longer before the image is formed. The variable s describes how shiny the spheres are.
This implementation of the Raytracing algorithm is based mainly on the first chapters of the book "Computer Graphics from Scratch" by Gabriel Gambetta. This weekend I decided to learn about 3D computer graphics by reading some books on this topic and trying to implement some of the techniques in Scratch, this is the first of such techniques, the drawback of this approach is that it is very slow if you want to get non-blurry images and also adding in new objects is done manually, for this reason this approach is not well-suited for 3D games, this Raytracing approach is however often used in animation because in this case you can render and store each frame separately.