This simulation shows a solution of the wave equation in a Tokarsky room, which has been constructed in relation with the illumination problem. The illumination problem asks the following question: assume you have a room with mirrored walls. Is it always possible to place a light source in such a way that no dark corners remain in the room? Of course, the room has to be "in one piece" (connected, as we say in mathematics): it should not consist of several separate rooms.
The problem was formulated by Ernst Straus in the 1950s, and first solved by Roger Penrose in 1958. He constructed a room that cannot be illuminated completely, wherever you put the light source. The room is built with four half-ellipses connected by straight parts, see for instance [ Ссылка ]
A second example, containing only straight walls, was found by Tokarsky in 1995. The solution works in the approximation of geometric optics, meaning that light travels in straight lines. Unlike Penrose's solution, it leaves only one single point in the dark. The two small circles in the video indicate the position of the source of light, and the spot that is theoretically left dark. When using waves with nonzero wave length, however, diffraction implies that one cannot expect that single point to remain completely dark. At best, the point and its surroundings will receive less energy over a given time span.
This simulation has two parts:
Wave energy: 0:00
Time-averaged energy: 2:21
The first part shows the energy of the wave as time goes on, where blue indicated low energy and red indicates high energy. The second part indicates the average energy from time zero to time t, as that time increases. The picture therefore changes more and more slowly as time goes on. The color scheme uses a perceptually uniform color map, named HSLuv.
Render time: 26 minutes
Music: "Stardrive" by Jeremy Blake@RedMeansRecording
For more on the illumination problem, see [ Ссылка ]
See also [ Ссылка ] for more explanations (in French) on a few previous simulations of wave equations.
The simulation solves the wave equation by discretization. The algorithm is adapted from the paper [ Ссылка ]
C code: [ Ссылка ]
[ Ссылка ]
Many thanks to my colleague Marco Mancini for helping me to accelerate my code!
Ещё видео!