Coloring images in the complex plane

I. Cnop
Vrije Universiteit Brussel
icnop@vub.ac.be

Twodimensional grids

Table[
      x + I j, {x, -1, 1.4,  .8}, {j, -1, 13, 
        1}]

xes = {a, b, c}

Table[
      xes[[k]] + I j, {k, Length[xes]}, {j, -1, 13, 
        1}]

Coloring grids

Flatten[Outer[Plus, {a, b, c}, {d, e, f}]]

Flatten[
      Outer[#1 + I #2 &, {a, b, c}, {d, e, f}]]

all[re_List, im_List] := 
      Flatten[Outer[#1 + I #2 &, re, im]]

coords[z_] := {Re[z], Im[z]}

<< Graphics`ArgColors`

color[z_] := ArgColor[(E^z)]

many = 
        all[{-1, 1, 2, 3}, Table[j, {j, -1, 13,  .1}]];

Show[Graphics[{Line[{{-1, 2 π}, {4,  
                  2 π}}]
, 
            Line[{{-1, 4 π}, {4, 4 π}}]
, 
            Transpose[{Map[color, many], Map[Point, Map[coords, many]]}]},Axes -> True,Ticks -> {{-1, 1}, Range[0, 4] π},AspectRatio -> 1]]

Show[Graphics[Transpose[{Map[color, many], 
              Map[Point, Map[coords, (E^many)]]}],PlotRange -> {{-20, 20}, {-20, 20}},Axes -> True,Ticks -> {{-1, 1}, 2 Range[0, 10]},AspectRatio -> Automatic]]

Image of a square grid by a map

coords[z_] := {Re[z], Im[z]}

<< Graphics`ArgColors`

color[z_] := ArgColor[z]

many=Flatten[Table[
            x + I j, {x, -5, 5,  .25}, {j, -3, 
              3,  .15}]];

f[z_] := 4/z

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-4, 4}, {-4, 4}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]]

f[z_] := (z + 1/z)

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-4, 4}, {-4, 4}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]]

f[z_] := (E^z)

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-4, 4}, {-4, 4}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]]

f[z_] := Sqrt[2 - z]/Sqrt[z - 4]

This is a typical example. Around certain points we obtain a color fireworks:

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-2, 1}, {-2, 2}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]]

Observe that the lower half-plane maps to the secons quadrant

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-1.5,  .5}, {0, 2}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]]

Adding the negative roots too

Show[GraphicsArray[{Graphics[Transpose[{Map[color, many], 
                    Map[Point, Map[coords, many]]}],Axes -> True,Ticks -> {{-1, 1}, Range[4]},AspectRatio -> 1],Show[{Graphics[Transpose[{Map[color, many], 
                          Map[Point, Map[coords, f[many]]]}],PlotRange -> {{-2, 1}, {-2, 2}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic],Graphics[Transpose[{Map[color, many], 
                          Map[Point, Map[coords, -f[many]]]}],PlotRange -> {{-2, 1}, {-2, 2}},Axes -> True,Ticks -> {{-1, 1},  Range[0, 4]},AspectRatio -> Automatic]}]}]]

Amazing!

Images of other domains

Can be obtained by choosing in a similar way a grid of points in this domain, or by finding the original map that first maps the above square into this domain.