Off[General::spell];
Off[General::spell1];
Off[Plot::plnr];
Off[ParametricPlot::ppcom];
Needs["Graphics`Colors`"]
Needs["Miscellaneous`Units`"]
Needs["Algebra`Trigonometry`"]
Clear[Derivative]
ThreeAxes[u,v]


ThreeAxes[u_,v_] := 
      Graphics3D[{
            {Blue,Line[{{-u,0,0},{u,0,0}}]},
                    Text["x",{u + v,0,0}],
            {Blue,Line[{{0,-u,0},{0,u,0}}]},
                    Text["y",{0, u + v,0}],
            {Blue,Line[{{0,0,0},{0,0,u}}]},
                    Text["z",{0,0,u + v}]}]; 
ThreeAxes[u_] := ThreeAxes[u,u/8];
ThreeAxes::usage = "ThreeAxes[a,b] makes a standard cartesian axis graphics object
	with x, y, and z running from -a to a, and with axis
	labels b units beyond the tips of the axes.  ThreeAxes[a]
	is ThreeAxes[a,a/8].";

CMView = {2.7, 1.6, 1.2};

Miniproject
For The 
Mathematica  Workshop

Gene Bild

The Geometry of Multiplying Complex Numbers

Brief Description: A complex number z = x + iy can be written as z = r ( cos q + i sin q ).   The number r is the modulus of z, and the angle q  is the argument  of z.  This notebook shows graphically that when two complex numbers are multiplied, their arguments are added.

Given two complex numbers z1 and z2, the first two 'do loops' display their arguments as adjacent sectors of a circle whose angles are the arguments of the numbers, with z1 in orange and z2 in light blue.  The union of these two sectors forms a larger sector whose angle is the sum of the arguments of z1 and z2. 
  
The third and last 'do loop' displays the adjacent sectors representing the arguments of z1 and z2 and has a third violet sector representing the argument of z3 = z1*z2.  The violet sector's angle grows from zero to the argument of z3, and exactly covers the light blue and orange sectors, showing that, in mathematical notation, 
Arg[z1] + Arg[z2] = Arg[z1*z2].  

Note that in the second 'do loop' the angle of the light blue sector grows from the argument of z1 to the sum of the arguments of the two complex numbers z1 and z2, while in the third  'do loop' the angle of the violet sector stops at the argument of z3, so the result is driven by mathematics.

If complex numbers of large modulii are input,  you should adjust the PlotRange options in each of the 'do loops' accordingly.

Needs["Graphics`Colors`"];
Clear[x1,y1,z1,z2,z3,x2,y2,x3,y3,t]


z1 = 
(*CHANGE THE NUMBER BELOW THIS COMMENT*)
-.5-2I;


x1 = Re[z1];
y1 = Im[z1];       

z2 = 
(*CHANGE THE NUMBER BELOW THIS COMMENT*)
1.8+I;
x2 = Re[z2];
y2 = Im[z2];       

z3 = (z1)(z2);
x3 = Re[z3];
y3 = Im[z3];       

Do[Show[Graphics
		 [{CadmiumOrange,Disk[{0,0},Abs[z3],{0,za}]}],
                AxesLabel->{"x","iy"},    
				Axes->True,
				AxesOrigin->{0,0},
				Ticks->None,
				PlotRange->{{-5,5},{-5,5}},
				AspectRatio->Automatic,
		        DisplayFunction->$DisplayFunction],
		        		{za,0,Mod[Arg[z1],2 Pi],
		        		Mod[Arg[z1], 2 Pi]/6}];

Do[Show[Graphics
		 [{CadmiumOrange,Disk[{0,0},Abs[z3],
		 		{0,Mod[Arg[z1],2 Pi]}],
		 		BlueLight,Disk[{0,0},Abs[z3],
		 		{Mod[Arg[z1], 2 Pi],zb}]}],
                AxesLabel->{"x","iy"},    
				Axes->True,
				AxesOrigin->{0,0},
				Ticks->None,
				PlotRange->{{-5,5},{-5,5}},
				AspectRatio->Automatic,
		        DisplayFunction->$DisplayFunction],
		        		{zb,Mod[Arg[z1], 2 Pi],
		        		Mod[Arg[z2], 2 Pi] + Mod[Arg[z1],2 Pi],
		        			Mod[Arg[z2], 2 Pi]/6}]

Do[Show[Graphics
		 [{CadmiumOrange,Disk[{0,0},Abs[z3],
		 {0,Mod[Arg[z1], 2 Pi]}],
		 	BlueLight,Disk[{0,0},Abs[z3],
		 	{Mod[Arg[z1], 2 Pi],Mod[Arg[z1]+Arg[z2], 2 Pi]}],
		 	Violet,Disk[{0,0},Abs[z3],{0,zc}]}],
                AxesLabel->{"x","iy"},    
				Axes->True,
				AxesOrigin->{0,0},
				Ticks->None,
				PlotRange->{{-5,5},{-5,5}},
				AspectRatio->Automatic,
		        DisplayFunction->$DisplayFunction],
		        		{zc,0,Mod[Arg[z3], 2 Pi],
		        			Mod[Arg[z3], 2 Pi]/8}]