ClearAll;
$DefaultFont = {"Times-Roman",10};
Needs["Statistics`DataManipulation`"];
Needs["Graphics`Graphics`"];
njags = 100;
text1 = Graphics[Text["0",{0.15,0}]];
text2 = Graphics[Text["x",{0.9,0}]];
text4 = Graphics[Text["a",{0.27,-0.01}]];
text6 = Graphics[Text["b",{0.79,-0.01}]];
axesx = Graphics[Line[{{0.18,0},{0.85,0}}]];
axesy = Graphics[Line[{{0.18,0},{0.18,0.25}}]];
zero[x_]:= 0;
g[x_]:= 0.1 - x^2(1-0.9x)^2;
h[x_]:= x^2(1-x)^2 + 0.02;
twice[x_]:= 2 g[x];
thrice[x_]:= 3 g[x];
quad[x_]:= 4 g[x];

poly[a_,b_,v_,w_]:= Polygon[Join[Table[{a+i(b-a)/njags,v[a+i(b-a)/njags]},
				  {i,0,njags}],
				  Reverse[Table[{a+i(b-a)/njags,w[a+i(b-a)/njags]},
				  {i,0,njags}]]]];
shade[a_,b_,c_,v_,w_]:= Graphics[{GrayLevel[c],poly[a,b,v,w]}];
	 
graph1 = Graphics[Plot[g[x],{x,0.2,0.85}]];
fill1 = {shade[0.27,0.79,0.35,zero,g],shade[0.27,0.79,1.0,g,thrice]};
plot1 = Show[axesx,axesy,text1,text2,text4,text6,
		fill1,graph1,PlotLabel->"y = g(x)"];
		
graph2 = Graphics[Plot[twice[x],{x,0.2,0.85}]];
fill2 = {shade[0.27,0.79,0.35,zero,g],shade[0.27,0.79,0.65,g,twice],shade[0.27,0.79,1.0,twice,thrice]};
plot2 = Show[axesx,axesy,text1,text2,text4,text6,
		fill2,graph2,PlotLabel->"y = 2g(x)"];

graph3 = Graphics[Plot[thrice[x],{x,0.2,0.85}]];
fill3 = {shade[0.27,0.79,0.35,zero,g],shade[0.27,0.79,0.65,g,twice],shade[0.27,0.79,0.35,twice,thrice]};
plot3 = Show[axesx,axesy,text1,text2,text4,text6,
		fill3,graph3,PlotLabel->"y = 3g(x)"];
		
graph4 = Graphics[Plot[quad[x],{x,0.2,0.85}]];
fill4 = {shade[0.27,0.79,0.35,zero,g],shade[0.27,0.79,0.65,g,twice],
			shade[0.27,0.79,0.35,twice,thrice],shade[0.27,0.79,0.65,thrice,quad]};
plot4 = Show[axesx,axesy,text1,text2,text4,text6,
		fill4,graph4,PlotLabel->"y = 4g(x)"];
			
Show[GraphicsArray[{{plot1, plot2}, {plot3, plot4}}],
	PlotLabel->"                       Figure 9.4\n\n
	Area(kg,[a,b]) = kArea(g,[a,b]) for k = 2,3,4"]