input mp-tool; %prologues:=0; %xtick marks def xtick(expr p)= draw ((0,-2pt)--(0,2pt)) shifted p; enddef; beginfig(1); %initialize scale numeric u; 4u=2in; %draw axes drawarrow (0,0)--(4u,0); drawarrow (0,0)--(0,4u); %draw the ladder pickup pencircle scaled 2pt; draw (2u,0)--(0,3u) withcolor blue; pickup defaultpen; %labels label.urt(btex $13$ etex, 0.5[(2u,0),(0,3u)]); label.bot(btex $x$ etex, 0.5[origin,(2u,0)]); label.lft(btex $y$ etex, 0.5[origin,(0,3u)]); %mark right angle anglemethod:=2;anglelength:=10pt; draw anglebetween((0,0)--(3u,0),(0,0)--(0,4u),""); endfig; beginfig(2); %initialize scale numeric u; 12u=2in; %initialize vertices pair A, B, C; A:=origin; B=(12u,0); C=(0,5u); %draw triangle, label sides draw A--B--C--cycle; label.bot(btex $x$ etex, 0.5[A,B]); label.urt(btex $13$ etex, 0.5[B,C]); label.lft(btex $5$ etex, 0.5[C,A]); %mark right angle anglemethod:=2;anglelength:=10pt; draw anglebetween(A--B,A--C,""); endfig; beginfig(3); %initialize scale numeric u; 2u=2in; %initialize circular base of cone path p; p:=fullcircle xscaled 2u yscaled 0.5u; draw p; %initialize points z0=origin; z1=point 0 of p; z2=point 4 of p; z3=(0,2u); %draw cone draw z1--z3--z2; draw z3--z0--z1; %label label.lft(btex $h$ etex, 0.5[z0,z3]); label.bot(btex $r$ etex, 0.5[z0,z1]); endfig; beginfig(4); %initialize scale numeric u; 125u=2in; %initialize points z0=origin; z1=(sqrt(15525)*u,0); z2=z1 shifted (0,10u); %draw triangle draw z0--z1--z2--cycle; %label edges label.ulft(btex $z$ etex, 0.5[z0,z2]); label.bot(btex $x$ etex, 0.5[z0,z1]); label.rt(btex $10$ etex, 0.5[z1,z2]); endfig; beginfig(5); %initialize scale numeric u; 3u=2in; %initialize points pair A, B, C, D, E; A:=origin; B:=(3u,0); C:=(3u,2u); D:=(1u,0); E:=A+1/3*(C-A); %draw triangle draw A--B--C--cycle; draw D--E; %label vertices label.llft(btex $A$ etex, A); label.lrt(btex $B$ etex, B); label.urt(btex $C$ etex, C); label.bot(btex $D$ etex, D); label.ulft(btex $E$ etex, E); %label edges label.bot(btex $z$ etex, 0.5[A,D]); label.bot(btex $x$ etex, 0.5[D,B]); label.rt(btex $6$ etex, 0.5[D,E]); label.rt(btex $18$ etex, 0.5[B,C]); endfig; beginfig(6); %initialize scale numeric u; 3u=2in; %initialize points pair A, B, C; A:=origin; B:=(3u,0); C:=(3u,2u); %draw triangle draw A--B--C--cycle; %label edges label.bot(btex $w$ etex, 0.5[A,B]); label.rt(btex $18$ etex, 0.5[B,C]); endfig; beginfig(7); %initialize scale numeric u; 3u=2in; %initialize points pair A, B, C; A:=origin; B:=(3u,0); C:=(3u,2u); %draw triangle draw A--B--C--cycle; %label edges label.bot(btex $z$ etex, 0.5[A,B]); label.rt(btex $4\,\hbox{km}$ etex, 0.5[B,C]); %label angle anglelength:=10pt; anglemethod:=0; draw anglebetween(C--A, C--B, btex $\theta$ etex); endfig; beginfig(8); %initialize scale numeric u; 2u=2in; %draw axes drawarrow (0,0)--(2u,0); drawarrow (0,0)--(0,2u); %draw the line draw (1u,0)--(0,1u) withcolor blue; %label intercepts label.bot(btex $(1,0)$ etex, (1u,0)); label.lft(btex $(0,1)$ etex, (0,1u)); endfig; beginfig(9); %initialize scale numeric u; 2u=2in; %draw semicircle path p; p:=fullcircle scaled 2u; z0=point 0 of p; z1=point 4 of p; p:=p cutafter z1; draw p; %draw diameter draw z0--z1; %draw center of circle pickup pencircle scaled 2pt; drawdot(origin); pickup defaultpen; %initialize point on semicircle z2=(1u,0) rotated 30; %draw triangle draw z0--z2--z1--cycle withcolor blue; %mark right angle anglelength:=5pt; anglemethod:=2; draw anglebetween(z2--z0,z2--z1,""); %label sides label.bot(btex $R$ etex, 0.5[z1,origin]); label.bot(btex $R$ etex, 0.5[origin,z0]); label.ulft(btex $y$ etex, 0.5[z1,z2]); label.llft(btex $x$ etex, 0.5[z2,z0]); endfig; beginfig(10); %initialize scale numeric u; 2u=2in; %draw semicircle path p; p:=fullcircle scaled 2u; z0=point 0 of p; z1=point 4 of p; p:=p cutafter z1; draw p; %draw diameter draw z0--z1; %draw center of circle pickup pencircle scaled 2pt; drawdot(origin); pickup defaultpen; %initialize point on semicircle z2=(1u,0) rotated 45; %draw triangle draw z0--z2--z1--cycle withcolor blue; %mark right angle anglelength:=5pt; anglemethod:=2; draw anglebetween(z2--z0,z2--z1,""); %label sides label.bot(btex $R$ etex, 0.5[z1,origin]); label.bot(btex $R$ etex, 0.5[origin,z0]); label.ulft(btex $\sqrt2 R$ etex, 0.5[z1,z2]); label.llft(btex $\sqrt2 R$ etex, 0.5[z2,z0]); endfig; beginfig(11); %initialize scale numeric u; 2u=2in; %draw semicircle path p; p:=fullcircle scaled 2u; z0=point 0 of p; z1=point 4 of p; p:=p cutafter z1; draw p; %draw diameter draw z0--z1; %draw center of circle pickup pencircle scaled 2pt; drawdot(origin); pickup defaultpen; %initialize points z2=(1u,0) rotated 35; z3=(1u,0) rotated 145; z4=(xpart z2,0); z5=(xpart z3,0); z6=origin; %draw rectangle draw z4--z2--z3--z5--cycle withcolor blue; draw z6--z2; %label sides label.bot(btex $x$ etex, 0.5[z6,z4]); label.bot(btex $x$ etex, 0.5[z6,z5]); label.lft(btex $y$ etex, 0.5[z4,z2]); label.rt(btex $y$ etex, 0.5[z5,z3]); label.ulft(btex $R$ etex, 0.5[z6,z2]); label.top(btex $2x$ etex, 0.5[z2,z3]); endfig; beginfig(12); %initialize scale numeric u; 1u=2in; %initialize points pair A, B, P, C; A:=origin; B=(0,1u); P:=(1/2*u,1u); C:=(1u,1u); %draw the river path p; p:=(-1,0)--(2,0)--(2,1)--(-1,1)--cycle; p:=p scaled u; fill p withcolor cyan; %draw river borders pickup pencircle scaled 1pt; draw (-1u,0)--(2u,0); draw (-1u,1u)--(2u,1u); %label points dotlabel.bot(btex $A$ etex, A); dotlabel.top(btex $B$ etex, B); dotlabel.top(btex $P$ etex, P); dotlabel.top(btex $C$ etex, C); %draw paths draw A--B dashed evenly; draw A--P--C withcolor red; %label lengths label.lft(btex $1$ etex, 0.5[A,B]); label.lrt(btex $\sqrt{1+x^2}$ etex, 0.5[A,P]); label.top(btex $x$ etex, 0.5[B,P]); label.top(btex $1-x$ etex, 0.5[P,C]); endfig; beginfig(13); %initialize scale numeric u; 4u=3in; %initialize points z0=origin; z1=(1u,0); z2=(2u,0); z3=(3u,0); z4=(4u,0); %draw the number line draw z0--z4; %draw tick marks for k=0 step 1u until 4u: xtick((k,0)); endfor; %label critical points label.bot(btex $1$ etex, z1); label.bot(btex $3$ etex, z3); %offset oldlabeloffset:=labeloffset; labeloffset:=10pt; label.bot(btex $f'$ etex, z0); label.bot(btex $+$ etex, 0.5[z0,z1]); label.bot(btex $-$ etex, 0.5[z1,z3]); label.bot(btex $+$ etex, 0.5[z3,z4]); label.top(btex $f$ etex, z0); label.top(btex inc etex, 0.5[z0,z1]); label.top(btex dec etex, 0.5[z1,z3]); label.top(btex inc etex, 0.5[z3,z4]); labeloffset:=oldlabeloffset; endfig; beginfig(14); %initialize scale numeric u; 4u=3in; %initialize points z0=origin; z1=(1u,0); z2=(2u,0); z3=(3u,0); z4=(4u,0); %draw the number line draw z0--z4; %draw tick marks for k=0 step 1u until 4u: xtick((k,0)); endfor; %label critical points label.bot(btex $2$ etex, z2); %offset oldlabeloffset:=labeloffset; labeloffset:=10pt; label.bot(btex $f''$ etex, z0); label.bot(btex $-$ etex, 0.5[z0,z2]); label.bot(btex $+$ etex, 0.5[z2,z4]); label.top(btex $f$ etex, z0); label.top(btex dn etex, 0.5[z0,z2]); label.top(btex up etex, 0.5[z2,z4]); labeloffset:=oldlabeloffset; endfig; beginfig(15); %initialize picture variable picture pic[]; %initialize scale numeric u; 4u=3in; %initialize points z0=origin; z1=(1u,0); z2=(2u,0); z3=(3u,0); z4=(4u,0); %draw the number line draw z0--z4; %draw tick marks for k=0 step 1u until 4u: xtick((k,0)); endfor; %label critical points label.bot(btex $1$ etex, z1); label.bot(btex $2$ etex, z2); label.bot(btex $3$ etex, z3); %offset oldlabeloffset:=labeloffset; labeloffset:=10pt; label.bot(btex $f'$ etex, z0); label.bot(btex $+$ etex, 0.5[z0,z1]); label.bot(btex $-$ etex, 0.5[z1,z2]); label.bot(btex $-$ etex, 0.5[z2,z3]); label.bot(btex $+$ etex, 0.5[z3,z4]); label.top(btex $f$ etex, z0); label.top(btex inc etex, 0.5[z0,z1]); label.top(btex dec etex, 0.5[z1,z2]); label.top(btex dec etex, 0.5[z2,z3]); label.top(btex inc etex, 0.5[z3,z4]); labeloffset:=20pt; label.bot(btex $f''$ etex, z0); label.bot(btex $-$ etex, 0.5[z0,z1]); label.bot(btex $-$ etex, 0.5[z1,z2]); label.bot(btex $+$ etex, 0.5[z2,z3]); label.bot(btex $+$ etex, 0.5[z3,z4]); label.top(btex $f$ etex, z0); label.top(btex dn etex, 0.5[z0,z1]); label.top(btex dn etex, 0.5[z1,z2]); label.top(btex up etex, 0.5[z2,z3]); label.top(btex up etex, 0.5[z3,z4]); labeloffset:=oldlabeloffset; pic1:=currentpicture; currentpicture:=nullpicture; %define function def f(expr x)= x*x*x-6*x*x+9*x+1 enddef; %Declare and initialize viewing window numeric xmin, xmax, ymin, ymax; xmin=0; xmax=4; ymin=0; ymax=10; %Declare and initialize scaling variables numeric ux, uy; (xmax-xmin)*ux=3in; (ymax-ymin)*uy=2in; %Declare and initialize clipping boundary path q; q:=(xmin,ymin)--(xmin,ymax)--(xmax,ymax)--(xmax,ymin)--cycle; q:=q xscaled ux yscaled uy; %Declare and initialize number of plotted points numeric N; N:=200; %Declare and calculate plotting increment delta x numeric dx; dx:=(xmax-xmin)/N; %Declare and create function path path p; p:=(xmin,f(xmin)); for x=xmin step dx until xmax: p:=p--(x,f(x)); endfor; p:=p--(xmax,f(xmax)); %Scale function path p:=p xscaled ux yscaled uy; %Clip function path draw p withcolor blue; clip currentpicture to q; %draw axes drawarrow (xmin*ux,ymin*uy)--(xmax*ux,ymin*uy); drawarrow (xmin*ux,ymin*uy)--(xmin*ux,ymax*uy); %draw tick marks for k=0 step 1u until 4u: xtick((k,0)); endfor; %label extrema dotlabel.top(btex $(1,5)$ etex, (1ux,5uy)); dotlabel.urt(btex $(2,3)$ etex, (2ux,3uy)); dotlabel.bot(btex $(3,1)$ etex, (3ux,1uy)); %save current picture pic2:=currentpicture; currentpicture:=nullpicture; draw pic2 shifted (0,50pt); draw pic1; endfig; end.