Tangent planesGreg Warrington - warrings@wfu.eduThis worksheet uses the old and new formulas for the windchill factor as an excuse to look at tangent planes.The only interesting things that happen occur in the pictures. So choose "Edit->Execute->Worksheet" from themenu above and scroll down the the descriptions above each picture.restart: with(plots): with(plottools): with(VectorCalculus): setoptions3d(font=[TIMES,BOLD,14],titlefont=[TIMES,BOLD,14], axesfont=[TIMES,BOLD,14],labelfont=[TIMES,BOLD,14]):wcform := (t,v) -> 35.74 + 0.6215*t + (0.4275*t - 35.75)*v^(0.16):plotwc := proc(t0,v0,tl,tr,vl,vr,old) local wc, newwc, wct, wcv, l, lplot, sph, oldwc; wc := (t,v) -> 35.74 + 0.6215*t + (0.4275*t - 35.75)*v^(0.16): newwc := plot3d(wc(t,v),t=tl..tr,v=vl..vr,style=PATCHNOGRID): oldwc := plot3d(91.4 + (91.4 - t)*(0.0203*v - 0.304*v^(0.5) - 0.474), t=tl..tr,v=vl..vr,style=WIREFRAME,thickness=3, color=BLACK,grid=[30,30]): wct := diff(wc(t,v),t): wcv := diff(wc(t,v),v): l := wc(t0,v0) + subs(t=t0,v=v0,wct)*(t - t0) + subs(t=t0,v=v0,wcv)*(v - v0): lplot := plot3d(l(t,v),t=tl..tr,v=vl..vr,color=BLACK,thickness=2, style=WIREFRAME,grid=[15,15]): sph := sphere([t0,v0,wc(t0,v0)],(tr-tl)/30,style=PATCHNOGRID,color=BLUE): if(old = 1) then display({newwc,oldwc,sph},axes=boxed); else display({newwc,lplot,sph},axes=boxed); fi; end proc:Approximating the actual formula at the blue dot using the tangent planeplotwc(32,10,-45,40,5,60,0);If you zoom in, you can figure out the "tilt" of the tangent plane just by reading the slope off of the axes.plotwc(32,10,31,33,9,11,0);You can use the windchill formula to figure out how cool you are. For example, at -40 degrees and 60mph wind:wcform(-40,60);Difference between the old formula and the new. The old windchill formula is in black, the new one is colored.I've plotted the "apparent temperature" indicated by these formulas for various wind speeds at 5 degrees F.This shows that the old formula "overestimated" the effect wind would have compared to current beliefs.plotwc(32,10,4,5,5,105,1);Zooming in on a more interesting tangent planeplottgt := proc(t0,v0,myd) local fun, funt, funv, funpl, l, lplot, sph, oldwc; fun := (t,v) -> sin(t)*cos(v^2): funt := diff(fun(t,v),t): funv := diff(fun(t,v),v): funpl := plot3d(fun(t,v),t=(t0-myd)..(t0+myd),v=(v0-myd)..(v0+myd)): l := fun(t0,v0) + subs(t=t0,v=v0,funt)*(t - t0) + subs(t=t0,v=v0,funv)*(v - v0): lplot := plot3d(l(t,v),t=(t0-myd)..(t0+myd),v=(v0-myd)..(v0+myd), color=BLACK,thickness=2, style=WIREFRAME,grid=[15,15]): sph := sphere([t0,v0,fun(t0,v0)],2*myd/30,style=PATCHNOGRID,color=BLUE): display({funpl,lplot,sph},axes=boxed); end proc:This just shows that the tangent plane is only a good approximation right in the vicinity of a point.plottgt(1,2,1); x0 := 5: y0 := 0: myd := 1: fun := (x,y) -> x*exp(-2*y): funoo := DirectionalDiff(fun(x,y), <1,1>, [x,y] ): funon := DirectionalDiff(fun(x,y), <0,-1>, [x,y] ): funpl := plot3d(fun(x,y),x=(x0-myd)..(x0+myd),y=(y0-myd)..(y0+myd)): funonpl := plot3d(funon(x,y),x=(x0-myd)..(x0+myd),y=(y0-myd)..(y0+myd)): funoopl := plot3d(funoo(x,y),x=(x0-myd)..(x0+myd),y=(y0-myd)..(y0+myd)): sph := sphere([x0,y0,fun(x0,y0)],2*myd/30,style=PATCHNOGRID,color=BLUE): display(funpl,axes=boxed); display(funonpl,axes=boxed); display(funoopl,axes=boxed);