Technische Fachhochschule Berlin
Prof. Dr. Angela Schwenk

Bilder unter der Abbildung f(z)=1/z

Initialisierung

Off[General::spell1];

$DefaultFont = {"Arial",10};

LineOptions = RGBColor[1,0,0];

PunktGroeße = PointSize[0.008];
dick1=Thickness[0.007];
dick2 = Thickness[0.007];

abstand[x0_,v_]:=Sqrt[ (x0.x0 v.v - (v.x0)^2)/(v.v)]

dichtest[x0_,v_]:= x0 - (v.x0 / v.v) v

plotgerade[x0_,v_, {tmin_, tmax_}]:= Module[ {plgerade, plpunkt, plabstand, dicht},
	dicht = dichtest[x0,v];
	plgerade  = ParametricPlot [ t v + x0//Evaluate , {t,tmin,tmax},
			AspectRatio -> Automatic,
			PlotLabel ->  ToString[N[dicht]] <>" " <>
					ToString[N[abstand[x0,v]] ],
			DisplayFunction -> Identity ] ;
	plpunkt = Graphics[  { RGBColor[1,0,0] , Point[ dicht] } ] ;
	plabstand =Graphics[{ { RGBColor[1,0,0] , Line[ {{0,0} , dicht }]  } ,
			{Dashing[{0.005,0.01}], Line[{{0,dicht[[2]]},dicht,{dicht[[1]],0}  }] }  }];
	Show[ plgerade, plpunkt, plabstand ,
		DisplayFunction -> $DisplayFunction] ]

bildgeraden::usage = "bildgeraden[f][phi] liefert ein GraphicsArray von zwei Zeichnungen: \n
1. 25 Geradenstücke, deren Richtungsvektor mit der x-Achse den Winkel phi bilden, die Geradenstücke bilden ein Quadrat der Länge 3x3. \n
2. Die Bilder der Geradenstücke unter der Abbildung f:IR² -> IR². \n
Achtung: das Argument von f ist eine Liste: f[{x_,y_}] := ... .";

bildgeraden[f_][phi_]:= Module[ {zbild, zplot, wplot},

	Off[Power::infy];
	Off[ParametricPlot::pptr];
	Off[Infinity::indet];
	(* +++++ Zeichnung der Urbilder in der z-Ebene: +++++  *)
	zbild[t_]:= Table[{t Cos[ phi] - y0 Sin[phi], t Sin[phi] + y0 Cos[phi]},
		{y0,-3,3,0.25}];
	zplot = ParametricPlot[ zbild[t]//Evaluate, {t,-3,3},
		AspectRatio -> Automatic,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,1,1/24}],
		DisplayFunction -> Identity];

	(* +++++ Zeichnung der Bilder in der w-Ebene: ++++ *)
	wplot = ParametricPlot[ Map[f, zbild[t]]//Evaluate, {t,-3,3},
		AspectRatio-> Automatic ,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,1,1/24}],
		DisplayFunction -> Identity  ];

	On[Power::infy];
	On[ParametricPlot::pptr];
	On[Infinity::indet];

	(* ++++ Zeichnung der z- und w-Ebene: ++++ *)
	Show [ GraphicsArray [{zplot, wplot}]//Evaluate ,
	DisplayFunction -> $DisplayFunction]
	]

bildurgeraden::usage = "bildurgeraden[f] liefert ein GraphicsArray von zwei Zeichnungen: \n
1. 9 Geradenstücke durch den Ursprung im 1. bzw. 3. Quadranten; die Geradenstücke bilden einen Kreissektor mit Radius 3. \n
2. Die Bilder der Geradenstücke unter der Abbildung f:IR² -> IR². \n
Achtung: das Argument von f ist eine Liste: f[{x_,y_}] := ... .";

bildurgeraden[f_]:= Module[ {zbild, zplot, wplot},

	Off[Power::infy];
	Off[ParametricPlot::pptr];
	Off[Infinity::indet];
	(* +++++ Zeichnung der Urbilder in der z-Ebene: +++++  *)
	zbild[t_]:= Table[{t Cos[ phi] , t Sin[phi] },
		{phi, 0, Pi/2 , Pi/16}];
	zplot = ParametricPlot[ zbild[t]//Evaluate, {t,-3,3},
		AspectRatio -> Automatic,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,0.75,0.75/8}],
		DisplayFunction -> Identity];

	(* +++++ Zeichnung der Bilder in der w-Ebene: ++++ *)
	wplot = ParametricPlot[ Map[f, zbild[t]]//Evaluate, {t,-3,3},
		AspectRatio-> Automatic ,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,.75,.75/8}],
		DisplayFunction -> Identity  ];
	On[Power::infy];
	On[ParametricPlot::pptr];
	On[Infinity::indet];

	(* ++++ Zeichnung der z- und w-Ebene: ++++ *)
	Show [ GraphicsArray [{zplot, wplot}]//Evaluate ,
	DisplayFunction -> $DisplayFunction]
	]

bildkreise::usage = "bildkreise[f][{xm,ym}, rmax] liefert ein GraphicsArray von zwei Zeichnungen: \n
1. 16 konzentrische Kreise mit Mittelpunkt {xm,ym} mit Radien von 0 bis rmax. \n
2. Die Bilder der Kreise unter der Abbildung f:IR² -> IR². \n
Achtung: das Argument von f ist eine Liste: f[{x_,y_}] := ... .";

bildkreise[f_][{xm_,ym_},rmax_]:= Module[ {zbild, zplot, wplot},

	(* +++++ Zeichnung der Urbilder in der z-Ebene: +++++  *)
	zbild[t_]:= Table[{r Cos[ t] + xm ,r Sin[t] + ym },
		{r, 0, rmax, rmax/15}];
	zplot = ParametricPlot[ zbild[t]//Evaluate, {t,0, 2Pi},
		AspectRatio -> Automatic,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,.75,.75/15}],
		AxesOrigin -> {0,0},
		DisplayFunction -> Identity];

	(* +++++ Zeichnung der Bilder in der w-Ebene: ++++ *)
	wplot = ParametricPlot[ Map[f,zbild[t]]//Evaluate, {t,0,2 Pi},
		AspectRatio-> Automatic ,
		PlotStyle->Table[{Hue[k,1,0.8],dick2},{k,0,.75,.75/15}],
		AxesOrigin -> {0,0},
		DisplayFunction -> Identity  ];

	(* ++++ Zeichnung der z- und w-Ebene: ++++ *)
	Show [ GraphicsArray [{zplot, wplot}]//Evaluate ,
	DisplayFunction -> $DisplayFunction]
	]

bildurkreise::usage = "bildurkreise[f][rmin, rmax] liefert ein GraphicsArray von zwei Zeichnungen: \n
1. 16 konzentrische Kreise um den Ursprung mit Radien von rmin bis rmax. \n
2. Die Bilder der Kreise unter der Abbildung f:IR² -> IR². \n
Achtung: das Argument von f ist eine Liste: f[{x_,y_}] := ... .";

bildurkreise[f_][rmin_, rmax_]:= Module[ {zbild, zplot, wplot},

	(* +++++ Zeichnung der Urbilder in der z-Ebene: +++++  *)
	zbild[t_]:= Table[ r { Cos[ t]  , Sin[t] },
		{r, rmin, rmax, (rmax - rmin)/15}];
	zplot = ParametricPlot[ zbild[t]//Evaluate, {t,0, 2Pi},
		AspectRatio -> Automatic,
		PlotStyle->Table[{Hue[k,1,0.8],dick1},{k,0,.75,.75/15}],
		AxesOrigin -> {0,0},
		DisplayFunction -> Identity];

	(* +++++ Zeichnung der Bilder in der w-Ebene: ++++ *)
	wplot = ParametricPlot[ Map[f, zbild[t]]//Evaluate, {t,0,2 Pi},
		AspectRatio-> Automatic ,
		PlotStyle->Table[{Hue[k,1,0.8],dick2},{k,0,.75,.75/15}],
		AxesOrigin -> {0,0},
		PlotRange -> All,
		DisplayFunction -> Identity  ];

	(* ++++ Zeichnung der z- und w-Ebene: ++++ *)
	Show [ GraphicsArray [{zplot, wplot}]//Evaluate ,
	DisplayFunction -> $DisplayFunction]
	]

bildkurve::usage = "bildkurve[f][c][{tmin, tmax,tdelta}, opts] \n
zeichnet die (schwarze) Kurve c[t] = {x[t],y[t]} und die (rote) Bildkurve f[c[t]] zusammen in einer Zeichnung. Nach tdelta wird jeweils ein Punkt gesetzt. Es können noch die normalen Plotoptionen gesetzt werden.\n
Achtung: das Argument von f ist eine Liste: f[{x_,y_}] := ... .";

bildkurve[f_][c_][{tmin_,tmax_, tdelta_}, opts___]:= Module[ 
	{urpkte, bildpkte, plpkte, plkurven}  ,
	urpkte = Table[ Point[c[t]] , {t, tmin, tmax, tdelta}];
	bildpkte =  Table[ Point[ f [c[t]]] , {t, tmin, tmax, tdelta}];
	plpkte = Graphics [{{PunktGroeße, urpkte}, 
			{PunktGroeße, LineOptions, bildpkte} }];
	plkurven = ParametricPlot[ {c[t] , f[c[t]] }//Evaluate, {t,tmin,tmax},
		DisplayFunction -> Identity,
		opts,
		AspectRatio -> Automatic,
		PlotStyle ->{RGBColor[0,0,0], RGBColor[1,0,0]}];
	Show[plkurven, plpkte,
		DisplayFunction -> $DisplayFunction]
	]

On[General::spell1];

Beispiele

?bildgeraden

?bildurgeraden

?bildkreise

?bildurkreise

Definition der Abbildung (f(z)=1/z in kartesischen Koordinaten):

f[{ x_,y_ }]:= {x ,-y}/(x^2 + y^2)

bildurgeraden[f];
bildurkreise[f][0.5,2];
bildgeraden[f][0];
bildgeraden[f][Pi/2];
bildgeraden[f][Pi/3];
bildkreise[f][{0,2},3];
bildkreise[f][{2,0},3];
bildkreise[f][{4,2},6];