Clear[MakeTrigMovie]
MakeTrigMovie::usage="MakeTrigMovie[theta,{thetaStart,thetaEnd,step}]
	makes an animation of the sine and cosine functions."
MakeTrigMovie[theta_,{start_,end_,step_}]:=Module[
	{UnitCircle,XandY,Pointer,xComponent,yComponent,Angle,
		xlist,ylist},
xlist={};
ylist={};
UnitCircle=Graphics[{Thickness[0.005],Circle[{0,0},1]}];
XandY=Plot[0,{x,-1,1},PlotRange->{{-1,2Pi},{-3/2,3/2}},
	DisplayFunction->Identity,PlotStyle->AbsoluteThickness[0.007]];
ListAnimate[Table[Pointer=Graphics[Arrow[{{0,0},{Cos[theta],Sin[theta]}}]];
xComponent=Graphics[{Thickness[0.01],RGBColor[1,0,0],
	Line[{{0,0},{Cos[theta],0}}]}];
yComponent=Graphics[{Thickness[0.01],RGBColor[0,1,0],
	Line[{{Cos[theta],0},{Cos[theta],Sin[theta]}}]}];
AppendTo[xlist,{theta,Cos[theta]}];
AppendTo[ylist,{theta,Sin[theta]}];
Angle=Graphics[{RGBColor[0,0,1],
		Circle[{0,0},.25,{0,theta}]}];
xplot=ListPlot[xlist,PlotStyle->
		{PointSize[.02],RGBColor[1,0,0]},
		PlotRange->{{0,2Pi},{-1,1}},
		Axes->False,
		DisplayFunction->Identity];
yplot=ListPlot[ylist,PlotStyle->
		{PointSize[.02],RGBColor[0,1,0]},
		PlotRange->{{0,2Pi},{-1,1}},
		Axes->False,
		DisplayFunction->Identity];
Show[XandY,UnitCircle,xComponent,yComponent,
	Pointer,Angle,xplot,yplot,
	AspectRatio->Automatic,
	DisplayFunction->$DisplayFunction],
{theta,start,end,step}]]
	]

MakeTrigMovie[θ,{0,2π,.1}]