Realised that I was going nowhere with trying to make the area-preserving interpolating map. But can still keep the relevant section, since the calculations are interesting. Need to extract the class definitions to a separate script; will do later