This was something I always wanted to look into, and I did a while ago. I added options to visualize grid, vectors and make it moving to show the intuition people around. I think it helps discussion a lot. (there might be errors in implementation or it might be completely off if my memory failing me)