Brouwer's fixed-point revisited
2024-01-27
A while back I had to opportunity to chat with Amit Patel about explorables, which was a delight and provided some helpful perspective. One specific encouragement that came out of the conversation was to try and leverage Bret Victor’s idea of the ladder of abstraction more, with my prototypes exploring the Brouwer fixed-point theorem being a good candidate for trying this. Here’s how the prototype looks now:
I’ve compressed the four different endomorphisms into a single diagram where you can select the endomorphism using radio buttons. More importantly, though, you can now see how the input changes to the output for the entire domain at a glance, using both arrows and colors. The arrows point from a particular function input to the correponding function output, with the length proportional to the distance between these points. This is a little coarse, since you can only pack arrows so tightly, so I’ve also represented these vectors with the background pixel colors, where the saturation maps to the magnitude and the hue maps to the direction (as illustrated in the reference disc). Now you can find the fixed point by looking for where the image goes white. You can of course also move the input red dot around and see where the output blue dot moves, to connect the very concrete input/output relation from the previous prototype with this higher-level abstraction.
The code’s a mess, but it feels good to make another prototype, and the end result is actually pretty much how I envisioned in my mind.