Radiosity in Math 4510 applied math course

A 2048 polygon radiosity scene. You can see light being absorbed and reradiated among the polyhedra in the scene; only two of the polyhedra are light sources.

When ambient light is reflected and reradiated in an image, finding the final distribution of light in the image requires the solution of a very large linear algebra problem. The total light R_i radiating from a face i is given by R_i = E_i + Σ F_ij R_j, where i is the light emitted by face i and the Fij are “view factors” describing the relative geometry of faces and j. In the scene on the left, there are 64 polyhedra, each with 32 faces. The resulting system of 2048 linear equations in 2048 variables is solved in several tenths of a second using an iterative method implemented in Mathematica, but would take much longer with a standard solver. In a real application, like a scene from an animated movie, there would be a few million polygons in the scene and the resulting solution would require solving a system Ax = b where the matrix A was (say) 2,000,000 by 2,000,000. Even storing such a matrix would take on the order of 4 terabytes of memory! Luckily, such matrices are very sparse, so they are (barely) tractable with good computing hardware.