I'm following Phillip Compeau's online biology+math course, and it starts out with reaction-diffusion systems. I've played with them several times before, most recently in 2019, but with this course it finally "clicked" how they work. I have this experience often — I have to play with something before I can understand it.

Reaction-diffusion patterns
Reaction-diffusion patterns

What helped with this course is that it started with random walks (which I understood) and linked them to predator-prey (which I mostly understood) and connected them to reaction-diffusion (which I didn't understand). I had never realized these were connected!

What also helped with this course is that I went through it three times. In the first week I quickly skimmed to get an overview, and I went through my notes from previous times I've studied these topics. In the second week I read through carefully, making notes and following the exercises to write simulations. My notes are here. I skipped one of the simulations because it seemed like a lot of work and I didn't think I'd learn a lot from it. In the third week I put my knowledge to the test by creating some art projects, which you can see on my art page. The art projects made me consider some things I hadn't thought of before, so in the fourth week I tried exploring those, although I didn't make a lot of progress.

I've been time boxing these projects: I give myself one week to work on them, and then at the end of the week I have to explicitly decide to do more on the same project or to move on to the next one. After three weeks on this I decided I should move on to the next project, which will be to learn gene transcription networks from the same book.

Various patterns I played with

This project was fun and I learned a lot.

4 comments:

Arthur A. Gleckler wrote at February 12, 2022 3:40 PM

Your art page is amazing! What you've done in the blog post and there makes me want to learn about reaction diffusion.

Scott Turner wrote at February 12, 2022 3:44 PM

Agree, the art pages are fascinating!

Amit wrote at February 22, 2022 12:45 PM

Thanks! It was a *lot* of fun to play with. In the old days, computing on the cpu, it took too long to see results so I didn't pursue it. But now that we can calculate this with shaders, I can see the results update in real time as I change parameters, and that made me want to revisit this topic.

Alex wrote at March 31, 2022 12:16 AM

Those are some wonderfully organic looking space filling curves. I especially like the second star with it's crinkled perimeter :D

You've given me a keen desire to investigate reaction diffusion and explore the source code, cheers!