Sometime ago I worked with mapping and have a question about its visualization. Let me remember you that mapping is some transformation rule for one set of number to another one. The 1d mapping is just an ordinary function – it takes a number and transforms it to another one. The 2d mapping (which I used) is a pair of functions which take 2 numbers and transform them to another 2 ones. Except general plots (like surfc, surfa) there is a special plot – Arnold diagram. It shows the area which is the result of mapping of some initial area (usually square).
I tried to make such plot in map. It shows the set of points or set of faces, which final position is the result of mapping. At this, the color gives information about their initial position and the height describes Jacobian value of the transformation. Unfortunately, it looks good only for the simplest mapping but for the real multivalent quasi-chaotic mapping it produces a confusion. So, use it if you like :).
The sample code for mapping visualization is:
int sample(mglGraph *gr) { mglData a(50, 40), b(50, 40); gr->Puts(mglPoint(0, 0), "\\to", ":C", -1.4); gr->SetRanges(-1,1,-1,1,-2,2); gr->SubPlot(2, 1, 0); gr->Fill(a,"x"); gr->Fill(b,"y"); gr->Puts(mglPoint(0, 1.1), "\\{x, y\\}", ":C", -2); gr->Box(); gr->Map(a, b, "brgk"); gr->SubPlot(2, 1, 1); gr->Fill(a,"(x^3+y^3)/2"); gr->Fill(b,"(x-y)/2"); gr->Puts(mglPoint(0, 1.1), "\\{\\frac{x^3+y^3}{2}, \\frac{x-y}{2}\\}", ":C", -2); gr->Box(); gr->Map(a, b, "brgk"); return 0; }