Simulation of the distribution of heat in a simple system.
Each pixel represents a single "heat" value. Each pixel is updated by averaging the amount of heat around it, thus the heat will flow to cooler areas. The value is then translated into a color from the color gradient (which makes it look ten times cooler). I broke out the gradient into its own separate class in case someone finds it useful.
Left Mouse: Apply heat
Right Mouse: Remove heat