{VERSION 3 0 "SUN SPARC SOLARIS" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 0 0 1 0 0 0 0 0 0 }{CSTYLE "" -1 256 "" 1 12 0 0 0 0 0 2 2 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 1 24 0 0 0 0 0 0 2 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 231 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 135 0 0 1 1 0 0 0 0 0 0 } 3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Helvetica" 0 14 0 0 18 0 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Couri er" 0 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 18 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }2 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {SECT 1 {PARA 258 "" 0 "" {TEXT 257 21 "Chapter 15\n\nGraphics \n" }}{PARA 0 "" 0 "" {TEXT 256 65 "\251 Copyright 1997, Latin America n Maple Center, Petr\363polis, Brasil" }}{PARA 0 "" 0 "" {HYPERLNK 17 "About the Worksheets" 1 "about.mws" "" }}}{SECT 1 {PARA 3 "" 0 "Basic 2D" {TEXT -1 37 "15.1 Some Basic Two-Dimensional Plots" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 37 "with(plots); # load graphics package" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "f := x -> exp(-x^2) * sin(Pi*x^3); \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "plot( f(x), x = -2..2 \+ ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "plot( f, 0 .. infini ty ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "plot( \{f(x), exp (-x^2), -exp(-x^2)\}, x=-2..2 ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "plot( [ sin(t), t, t=0..2*Pi ], scaling=constrained ) ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "S := t -> 100/(100+(t- Pi/2)^8): # for scaling " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "R := t -> S(t)*(2-sin(7*t)-cos(30*t)/2):" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 47 "plot( [ R, t->t, -Pi/2..3/2*Pi ], coords=polar," }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " axes=none, color=green, numpoints =1000 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Options2D" {TEXT -1 20 "15.2 Options of plot" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart; with(plots):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "plot( sin(x^2)/x^2, x=-6..6, 0..1 ) ; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "plot( sin(x^2)/x^2, x =-6..6, scaling=constrained ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "plot( tan, -Pi..Pi ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "display( %, view=[-4..4,-10..10] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "plot( tan(x), x=-Pi..Pi, -10..10, discont=true, \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " xtickmarks=[ -3.14=\"-Pi\", \+ -1.57=\"-Pi/2\", " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " \+ 1.57=\"Pi/2\", 3.14=\"Pi\" ] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "J := (n,x) -> sqrt(Pi/(2*x)) * BesselJ(n+1/2,x):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "plot( J(0,x), x=0..20, `J(0, x)`=-0.5..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " xtickmarks=8, yt ickmarks=4, title= " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " \"Spherica l Bessel function J(0,x) of the first kind\"," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " titlefont=[HELVETICA,BOLDOBLIQUE,20] ); " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "curve := plot( x->J(0,x), 0. .20, -0.5..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " xtickmarks=8, y tickmarks=4, title= " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " \"Spherical Bessel function J(0,x) of the first kin d\"," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " titlefont=[HELVETICA,BOLD OBLIQUE,16]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " axesfont=[HELVETI CA,BOLD,14] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "text := p lots[textplot]( \{ [2,0.75,\"J(0,x)\"], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " [14,-0.1,\"x\"] \}, align=\{ABOVE,RIGHT\}, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " font=[HELVETICA,BOLD,14] ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "plots[display]( \{ curve, te xt \} );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "plot( sin, 0..2 *Pi, scaling=constrained, style=point," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " symbol=circle );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "plotpoints := [ seq( [ i, ithprime(i) ], i=1..9 ) ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "plot( plotpoints, style=point, symb ol=box );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "p0 := [ [1.2, \+ 1.2], [1.2,cos(1.2)] ]; # starting pair " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "f := pair -> [ map( cos, pair[1] ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " map( cos, pair[2] ) ]; # iteratio n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "f(p0); # first new pai r" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "points := map( op, [ s eq( (f@@i)(p0), i=0..10 ) ] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "curveplot := plot( points, x=0..Pi/2, y=0..1, " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 40 " style=line, linestyle=2, color=blue ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "identityplot := plot( x, x=0 ..Pi/2, y=0..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " linestyle=7, \+ color=gray ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "cosineplot := plot( cos(x), x=0..Pi/2, y=0..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " thickness=4, color=red ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "display( \{ curveplot, identityplot, cosineplot \}, \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " title=\"cobweb-model of itera ted cosine\" ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for i \+ from 0 to 15 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " thick[i] := pl ot( i, x=0..1, thickness=i ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "display( convert( thick , set ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " axes=box, tickmarks= [0,15], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " title=\"thickness opt ion: [0,1,..,15]\" );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "fo r i from 0 to 7 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " line[i] := \+ plot( i, x=0..1, linestyle=i ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "o d:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "display( convert( lin e, set ), axes=box," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 " tickmarks= [0,7], title=\"linestyle option: [0,1,..,7]\" );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "P := seq( seq( polygonplot( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " [ [i,j], [i+1,j], [i+1,j+1], [i,j+1] ]," }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " color=COLOR(RGB,0.1*i, 0.1*j, 0 ) )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " i=0..10 ), j=0..10 ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "display( \{P\}, scaling=cons trained," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " labels=[R,G], title= \"RGB color (R, G, 0)\"," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " tickm arks = [ [seq(i+0.5=\".\".i,i=0..9),10.5=\"1\"]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " [seq(j+0.5=\".\".j,j=0..9),10.5=\"1\"] ] );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "with(plottools,cuboid):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "e1 := seq( seq( seq( display (" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " cuboid([i,j,k],[i+1,j+1,k+1] ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " color=COLOR(RGB,0.1*i, 0.1 *j, 0.1*k ), style=patch )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " i= 0..10 ), j=[0,10] ), k=[0,10] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "e2 := seq( seq( seq( display(" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " cuboid([i,j,k],[i+1,j+1,k+1]), " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 55 " color=COLOR(RGB,0.1*i, 0.1*j, 0.1*k ), style=patc h )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " i=[0,10] ), j=0..10), k=[ 0,10] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "e3 := seq( seq( seq( display(" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " cuboid([i,j,k], [i+1,j+1,k+1]), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " color=COLOR(R GB,0.1*i, 0.1*j, 0.1*k ), style=patch )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " i=[0,10] ), j=[0,10]), k=0..10 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "display( \{ e.(1..3) \} );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "plot3d( 1, t=0..2*Pi, z=-2..2, coor ds=cylindrical, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " style=patchno grid, color=t/2/Pi, axes=box, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " \+ orientation=[45,35], tickmarks=[3,3,0] );" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 40 "P := seq( display( plottools[pieslice]( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " [0,0], 5, Pi*i/10..Pi*(i+1)/10," }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " color=COLOR(HUE,evalf(i/20)) ), \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " scaling=constrained ), i=0..2 0 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "display( \{P\}, axe s=none );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "plot( [ sin(t) , t, t=0..2*Pi ], coords=polar, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " scaling=constrained );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "P := %: # give the previous plot a name" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "changecoords( P, elliptic );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "plot( [ sin(t), t, t=0..2*Pi ], coords=elli ptic," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " scaling=constrained );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart; with(plots):" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "setoptions( numpoints );" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "setoptions( axes = frame, \+ scaling = constrained ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "plot( ln(x), x = 1/2..2 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "display( %, axes=normal );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "display( %%, view=[0..2,-2..2], scaling=unconstrained );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "S tructure2D" {TEXT -1 46 "15.3 The Structure of Two-Dimensional Graphic s" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart; with(plots):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "PLOT( CURVES( [ [1,1], [2 ,2], [3,1], [1,1] ] ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " AXESSTY LE(NONE), SCALING(CONSTRAINED) ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "P := plot( [ [1,1], [2,2], [3,1], [1,1] ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "axes=none, scaling=constrained ): " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "lprint( P ); # print the plo t data structure" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "P; # p lot the graphics object " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "f := x -> sqrt(2) - sqrt(2*sqrt(x)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "P := plot( f(x), x=0..1, y=0..sqrt(2)," }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 46 " title=\"graph of sqrt(2) - sqrt(2*sqrt(x))\" \+ ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "lprint( P ); # print \+ plot data structure" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "P; \+ # display the graph " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "dis play( P, view=[0..0.01, 1..sqrt(2)], title=" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " \"zoomed-in graph of sqrt(2) - sqrt(2*sqrt(x))\" ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "infolevel[plot] := 2: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "plot( f(x), x=0..1, y=0 ..sqrt(2) ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "plot( f(x ), x=0..1, y=0..sqrt(2), adaptive=false ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "infolevel[plot]:=1: # reset information level" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "plot( x^2, x=0..1, sample \+ = [0,1/2,1], adaptive=true );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "plot( x^2, x=0..1, sample = [0,1/2,1], adaptive=false );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart; with(plots):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "plot( x/(1-cos(5*x)), x=-5.. 5, -5..5 ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "plot( x/(1 -cos(5*x)), x=-5..5, -5..5, numpoints=200 ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "step := plot( 2*Heaviside(x-1) - 1, x=-1..2, " } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " discont=true, thickness=15 ): \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "step; # display the gra ph" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "save step, \"CHAP15/g raph.m\":" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "step := NULL: \+ # reassign the variable" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "read \"CHAP15/graph.m\": # load the graph " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 35 "step; # display the graph" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "subs( THICKNESS(15)=THICKNES S(1), step );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {SECT 1 {PARA 3 "" 0 "plottools" {TEXT -1 26 "15.4 The plottools Packa ge" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "PLOT( POLYGONS( [[0,0], [1,0], [1,1 ], [0,1]], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " COLO R( RGB,0,0,1) ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " AXESSTYL E(NONE), STYLE(PATCHNOGRID)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " \+ SCALING(CONSTRAINED) ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "PLOT( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " CURVES( [[0,0],[1,0] ,[1/2,1/2*sqrt(3)],[0,0]], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " \+ COLOR( RGB,1,0,0), THICKNESS(15), LINESTYLE(1) )," }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 51 " TEXT( [1/2,1/6*sqrt(3)], \"equilateral triangle\" , " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " COLOR(RGB,0,0,1), FONT([H ELVETICA,BOLDOBLIQUE,24]) )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " A XESSTYLE(NONE), SCALING(CONSTRAINED) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "PLOT( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " CURVES( [[0,0],[1,0],[1/2,0.866],[0,0]], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " COLOR(RGB,1,0,0), THICKNESS(15), LINESTYLE(1) )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " TEXT( [1/2,0.289], \"equilateral triangle\" , " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " COLOR(RGB,0,0,1), FONT(HE LVETICA,BOLDOBLIQUE,9) )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " AXES STYLE(NONE), SCALING(CONSTRAINED) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "with(plots): with(plottools): # load packages" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "display( rectangle( [0,0], [ 1,1], color=blue )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " axes=none, style=patchnogrid, scaling=constrained );" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 9 "lines := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " cu rve( [[0,0],[1,0],[1/2,1/2*sqrt(3)],[0,0]]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " color=red, thickness=15, linestyle=1 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "text := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " textplot( [1/2,1/6*sqrt(3), \"equilateral triangle \"], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " color=blue, font=[HELVET ICA,BOLDOBLIQUE,9] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "di splay( \{lines, text\}, axes=none, scaling=constrained );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "head := ellipse( [0,0.5], 0.7, 0.9 , color=black ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "eyes : = disk( [0.4,0.4],0.1, color=blue ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " disk( [-0.4,0.4],0.1, color=blue ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "mouth := arc( [0,0.1], 0.35, 5/4*Pi..7/4 *Pi, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " color=red, thickn ess=7 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "nose := line( \+ [0,0.35], [0,-0.1], color=black, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " thickness=5 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "dis play( \{head, eyes, nose, mouth\}, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " scaling=constrained, axes=none ); # happy face" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "restart; with(plots): with(plottools):" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "a[0] := display( arrow( [0 ,0], [1,0], 0.1, 0.4, 0.2 ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " \+ color=COLOR(HUE,0), axes=none, scaling=constrained ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "a[0]; # display the horizontal arro w" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "display( a[0], " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " translate( scale( " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 26 " rotate( a[0],-Pi/2 ), " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 25 " 1/4, 1/4 ), 0,-3/4 ) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "for i to 15 do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " a[i] := subs( COLOR(HUE,0) = COLOR(HUE,i/16), " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 20 " translate( scale( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " rotate( a[0], i*Pi/8 ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " (16-i)/16, (16-i)/16 ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " i/16*cos(Pi*i/8), i/16*sin(Pi*i/8) ) ) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "od: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "display( [ seq(a[i],i=0..15) ], scaling=constrained );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "hpoints := [ seq( [ seq( [i/ 16,j*Pi/8], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " i=0..1 6) ], j=0..16 )]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "hlines := map( curve, hpoints ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "vpoints := [ seq( [ seq( [i/16,j*Pi/8], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " j=0..16) ], i=0..16 )]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "vlines := map( curve, vpoints ):" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "grid := display( hlines,vl ines, axes=frame ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "f := transform( (r,phi) -> [ r*cos(phi), r*sin(phi) ] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "display( array( [ grid, f(grid) ] ), " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " scaling=constrained );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "S pecial2D" {TEXT -1 34 "15.5 Special Two-Dimensional Plots" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "restart; with(plots):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "sine := plot( sin , 0..4*Pi, color= black, thickness=3 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "s \+ := plot( sin, 0..4*Pi, filled=true, color=red ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "cosine := plot( cos, 0..4*Pi, color=black, \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " thickness=3 ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "c := plot( cos, 0..4*Pi, filled=tru e, color=red):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "f := x -> if cos(x)>0 and sin(x)>0 then " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " min(cos(x),sin(x))" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " elif cos(x)<0 and sin(x)<0 then " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " max(cos(x),sin(x)) " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 17 " else 0 " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 " fi:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "b := plot( f, 0..4*Pi, filled=true, color=white ): " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 36 "display( [ sine, cosine, b, s, c ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " scaling = constrained );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "ticks := [ [0=\"0\", 3.14=\"Pi\", 6 .28=\"2 Pi\"]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " [-0.99 =\"-1\",0=\"0\",0.99=\"1\"] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "sine := plot( sin(x), x=0..2*Pi, tickmarks=ticks ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "cosine := plot( cos(x), x=0. .2*Pi, tickmarks=ticks ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "display( array([sine,cosine]) ); # row of plots" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "display( array(1..2,1..1,[[sine],[cosine] ]) ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "restart; " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots): with(plottools) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "implicitplot( x^3 + y^ 3 - 5*x*y + 1/5 = 0, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " x=-3..3, y=-3..3, grid=[50,50] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "subs( x=r*cos(phi), y=r*sin(phi), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " 2*x^4 + y^4 - 3*x^2*y - 2*y^3 + y^2 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "factor(%); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "eqn := op(2,%):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "sols := map( combine, \{ solve(eqn,r) \} );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "sols := map( unapply, sols, \+ phi ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "polarplot( sols, \+ 0..2*Pi, view=[-5/2..5/2,0..9/4], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " scaling=constrained, color=black ); " }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 82 "v := algcurves[parametrization]( \n 2*x^4 + y^4 - \+ 3*x^2*y - 2*y^3 + y^2, x, y, t);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "plot([op(v),t=-infinity..infinity], scaling=constrain ed);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "noise := stats[ ran dom, uniform[0,0.1] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "p lotpoints := [ seq( [ 0.2*i, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " \+ exp(0.2*i) + noise() ], i=0..20 ) ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "logplot( plotpoints, style=point, symbol=circle ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "loglogplot( x^3 + exp(-x) , x=1/10..50, numpoints=200," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " t ickmarks=[3,4], labels=[\"x\",\"x^3 + exp(-x)\"]," }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 37 " scaling=constrained, axes=frame ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "alias( I=I, J=sqrt(-1) ): " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "Vout := 1/(-12*J*omega^3-2*o mega^2+7*J*omega+1);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "mag nitude := 20*log[10]( evalc(abs(Vout)) );" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 45 "M := semilogplot( magnitude, omega=0.01..10, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " labels=[\"omega \",\"magnitude \" ] ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "M; # display magn itude" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "phase := evalc( ar gument(Vout) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "P := sem ilogplot( 180/Pi*phase, omega = 0.01..10," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " labels=[\"omega \",\"phase \"] ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "P; # display phase " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "display( array(1..2,1..1,[[M],[P]]) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "Bodeplot := proc( vo ltage, domain )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " local M, P, l, magnitude, omega, opts, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " \+ phase, r, toption;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " if not ty pematch( domain, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " omega::na me = l::algebraic..r::algebraic ) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " ERROR(\"invalid input\")" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " elif not type( voltage, ratpoly(anything,omega)) then" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " ERROR(\"input must be a rationa l function in\",omega)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " fi;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " opts := [ args[3..nargs] ];" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " if not hasoption( opts, 'thicknes s', toption, 'opts' ) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " then to ption:=2 # default thickness" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " f i;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " l := evalf(l); r := evalf(r );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " M := plots[semilogplot]( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " 20*log[10]( evalc(abs(voltage )) ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " omega=l..r, 'thicknes s'=toption, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " labels=[omega,m agnitude], op(opts) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " P := pl ots[semilogplot]( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " 180/Pi*ev alc(argument(voltage)), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " ome ga=l..r, 'thickness'=toption, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " \+ labels=[omega,phase], op(opts) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " plots[display]( array(1..2,1..1,[[M],[P]]) );" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "Bodeplot( Vout, omega=0.01..10, thickness=5, " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 49 " color=blue, numpoints=200); # greater thickness" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "alias( J=J, I=sqrt(-1) ): # I = sqrt(-1) again" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "c omplexplot( sin( Pi/3 + t*I ), t = -1..1 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "restart; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots): with(plottools):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "conformal( z, z=-1-I..1+I, grid=[25,25], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " axes=frame, scaling= constrained ); " }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "conformal( 1/z, z=-1-I..1+I , grid=[25,25], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " numxy=[100,10 0], axes=frame, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " scaling=const rained, view=[-6..6,-6..6] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "fieldplot( [cos(x),cos(y)], x=-2*Pi..2*Pi, y=-2*Pi..2*Pi, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " arrows=SLIM, grid=[11,11], axes=b ox ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "phi := ln( sqrt(( x+1)^2+y^2) ) - ln( sqrt((x-1)^2+y^2) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "gradplot( -phi, x=-2..2, y=-1..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " arrows=THICK, grid=[11,11], axes=box ); " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "contourplot( phi, x=-2..2, y =-1..1, color=black," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " numpoints =500, axes=box, contours=10 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "contourplot( phi, x=-2..2, y=-1..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " numpoints=500, axes=box, filled=true, " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 56 " contours=[seq(i/4,i=-6..6)], coloring=[whi te,black] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "CP := %: # store contour plot" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "lege ndcolors := seq( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " plottools[re ctangle]( [0, i/4], [1,(i+1)/4], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 " color=COLOR( RGB, 1-(i+7)/13, 1-(i+7)/13, 1-(i+7)/13) ), " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " i=-7..6 ):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 19 "legendtext := seq( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " textplot( [1.5, i/2, convert(evalf(i/2,2),name)], \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " font=[HELVETICA,BOLD,10] ), i =-3..3 ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " textplot( [1.5, 2, \+ \"Heights\"], font=[HELVETICA,BOLD,10] )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " textplot( [3.5, 2, \" \"] ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "LP := display( \{legendcolors, legendtext \}, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " axes=none, scaling=constr ained): # store legend" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "d isplay( array([CP,LP]) ); # display in vector layout" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "densityplot( phi, x=-2..2, y=-1..1, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " grid=[30,30], axes=box, style=pat chnogrid," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 " colorstyle=HUE );" } }}{PARA 0 "" 0 "" {TEXT -1 91 "Obviously the horizontal and vertical c oordinates got mixed up here, for Maple V Release 5." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Geometry" {TEXT -1 29 "15.6 Two-Dimensional Geometry" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "with(geometry): # load geometry package" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "assume( x>0, y>0 ): # assume positive lengths" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "triangle( T, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " [ point(O,0,0), point(A,x,0), point(B,0,y ) ] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "midpoint( D, O, A ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "midpoint( E, A, B ) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "midpoint( F, O, B ): \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "circle( C, [ D, E, F ] \+ ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "projection( G, O, lin e('dummy',[A,B]) ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "lin e( L, [O,G] ): # altitude" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "IsOnCircle( G, C );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " assign(x,2): assign(y,1):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "draw( [ C(printtext=false), T, D, E, F, G, L ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " axes=none, thickness=3, font=[HELVETICA,BOLD,10] ," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " color=blue, scaling=constrai ned );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "triangle( T, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " [ point(O,0,0), point(A,3,0), poi nt(B,2,2) ] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "circumcir cle( C, T ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "point( D, u , v ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "IsOnCircle( D, C, 'condition' );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "conditio n;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "otherCondition := sim plify(%, assume=real);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "a ssume(otherCondition);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "p rojection( E, D, line( 'dummy', [O,A] ) ):" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 43 "projection( F, D, line( 'dummy', [O,B] ) ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "projection( G, D, line( 'dum my', [A,B] ) ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "AreColli near( E, F, G );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "solve( \+ otherCondition );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "assign ( u, 3/2-1/2*sqrt(6) ): assign(v,3/2):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "line( DE, [D,E] ): line( DF, [D,F] ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "line( DG, [D,G] ): line(L,[E,G]): \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "line(H,[B,G]):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "draw(" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " [ C(filled=false,linestyle=1,printtext=false)," }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " T(color=black,filled=false,thic kness=5,linestyle=1)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " DE, DF , DG, H, D, L(color=red,linestyle=1)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " E, F, G ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " axes=none , linestyle=2, thickness=3, color=blue," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " scaling=constrained, font=[HELVETICA,BOLD,10]" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 2 ");" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Aliasing" {TEXT -1 18 "15.7 Plot Aliasing " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "plot( (x-25)^2/10 + cos(2*Pi*x), x= 0..49 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "plot( (x-25)^2/ 10+cos(2*Pi*x), x=0..49, numpoints=2000 );" }}}}{SECT 1 {PARA 3 "" 0 " Mistakes" {TEXT -1 21 "15.8 A Common Mistake" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "f := t -> if t>0 then exp(-1/t^2) else 0 fi: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "plot( f(t), t=-1..4 );" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 24 "plot( 'f(t)', t=-1..4 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "plot( \{f,D(f)\}, -1..4 ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "f := t -> piecewise( t>0, exp(-1/t^ 2), 0 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f(t); # no prob lem" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "f := t -> if not typ e(t,numeric) then " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " \+ 'procname'(t) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " elif \+ t>0 then " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " exp(-1/ t^2) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " else 0 " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " fi: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "f(t); # no problem" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Basic3D" {TEXT -1 39 "15.9 Some Basic Three-Dimensional Plots" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "plot3d( cos(x*y), x=-3..3, y=-3..3 ); " }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 24 "f := (x,y) -> cos(x*y): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "plot3d( f, -3..3, -3..3, grid=[50,50], axes=box, \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " scaling=constrained, style=pa tchcontour, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " shading=zgrayscal e );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Options3D" {TEXT -1 23 "15.10 Options of plot3d" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 39 "plot3d( x^3-3*x*y^2, x=-1..1, y=-1..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " style=patch, axes=box ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "with( plots, [display,textplot3d] ) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "angles := [ [45,45], [ 5,45], [5, 80], [-60,60] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "ticks := [ [0=\" \"],[0=\" \"],[0=\" \"] ]: # blank tick marks" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "position := " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 55 " [ [-1,0.25,2], [0,0.1,3], [0,0.1,1.2], [0.8, 0.5,2] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "sf := [SYMBOL, 10]: # symbol font at point size 10" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "for i to 4 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " \+ P := plot3d( x^3-3*x*y^2, x=-1..1, y=-1..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " style=patch, tickmarks=ticks, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " orientation=angles[i] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " T := textplot3d( [ op( position[i] )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " cat(\"[q,f] = \",convert(angles[i],name)) ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " font=sf, color=blue ); " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " F[i] := display( \{P,T\}, axe s=frame ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "plotarray := matrix( 2, 2, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " [ seq( F[i], i=1..4) ], array ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "subs( SYMBOL(BOX)=SYMBOL(POI NT)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " display( plotarray ) ); # draw graphics array" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "plo t3d( sin(2*Pi*x), x=0..25, y=0..1, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " axes=frame, style=patch, shading=zgrayscale );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "plot3d( \{x,1-x\}, x=0..1, y=0..1, style= patchnogrid, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " axes=frame, shad ing=none, orientation=[-45,25], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " light=[0,0,0.9,0.9,0.9] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "plot3d( \{x,1-x\}, x=0..1,y=0..1, style=patchnogrid, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " axes=frame, shading=none, orientation=[ -45,25], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " light=[135,0,0.9,0.9 ,0.9] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "plot3d( 5.5-y, \+ x=0..1, y=0..5, axes=frame, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " s hading=zgrayscale, thickness=5, style=contour, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " contours=5 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "plot3d( 5.5-y, x=0..1, y=0..5, axes=frame, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " shading=zgrayscale, thickness=5, style= contour, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " contours=[1,2,4] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 " " 0 "" {TEXT -1 49 "15.11 The Structure of Three-Dimensional Graphics " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "PLOT3D( POLYGONS( [ [1,1,1], [-1,-1 ,1], [-1,1,-1] ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " [ [1,1,1], \+ [-1,-1,1], [1,-1,-1] ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " [ [-1 ,1,-1], [1,-1,-1], [-1,-1,1] ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " [ [-1,1,-1], [1,-1,-1], [1,1,1] ] ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " STYLE(LINE), COLOR(RGB,1,0,0), AXESSTYLE(BOX), " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 46 " ORIENTATION(30,60), SCALING(CONSTRAINED) ) ; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "with(plots,polygonplo t3d):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "P := polygonplot3d ( [ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " [ [1,1,1], [-1,-1,1], [-1 ,1,-1] ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " [ [1,1,1], [-1,-1,1 ], [1,-1,-1] ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " [ [-1,1,-1], \+ [1,-1,-1], [-1,-1,1] ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 38 " [ [-1, 1,-1], [1,-1,-1], [1,1,1] ] ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " \+ style=line, color=red, axes=box, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " orientation=[30,60], scaling=constrained ):" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 46 "lprint( P ); # print 3D plot data structure " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "P := plot3d( x*y^2 , \+ x=-1..1, y=-1..1, grid=[5,5], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " \+ axes=box, orientation=[30,30], style=line," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " color=red, title=\"graph of z=xy^2\" ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "lprint( P ); # print the 3D plot d ata structure" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "P; # disp lay the surface" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "evalhf( \+ 2 + sqrt(3)*I ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "F := p roc(x, y) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " local X, Y, XCOPY; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " X := evalf(x): Y := evalf(y) : " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " to 25 while X^2 + Y^2 <= 9 \+ do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " XCOPY := X: X := X^2-Y^ 2-1: Y := 2*XCOPY*Y" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " od:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " if X^2 + Y^2 > 9 then 1 else 0 fi " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "plot3d( F, -2..2, -1..1, grid=[75,75], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " orientation=[-90,0], style=patc hnogrid, axes=box, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " labels=[x, y,\" \"], shading=zgrayscale );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "plot3d( 0, -2..2, -1..1, grid=[75,75], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " orientation=[-90,0], style=patchnogrid, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " axes=frame, labels=[x,y,\" \"], color=F );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 126 "PLOT3D( MESH([ [ [1 ,1,1],[0,1,0],[0,0,1] ],\n [ [1,1,1],[1,0,0],[0,0,1] ] ] ),\n STYLE(PATCH), AXES(BOX) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "convert( [ color=red, orientation=[20,60] ], " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " PLOT3Doptions );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Special3 D" {TEXT -1 38 "15.12 Special Three-Dimensional Plots " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 29 "with(plots): with(plottools):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "spacecurve( \{ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " [t*cos(2*Pi*t),t*sin(2*Pi*t),2+t]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " [2+t,t*cos(2*Pi*t),t*sin(2*Pi*t)]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " [t*cos(2*Pi*t),2+t,t*sin(2*Pi*t)] \}, t=0 ..10, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " numpoints=400, orientat ion=[40,70]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " style=line, thick ness=3, axes=box ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "plo t3d( [ r*cos(phi), r*sin(phi), phi ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " r=0..1, phi=0..6*Pi, grid=[15,45], style=patch," }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 49 " orientation=[55,70], shading=zhue, axes=box \+ ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "S := plot3d( 1, thet a=0..2*Pi, phi=0..Pi, style=patch," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " coords=spherical, scaling=constrained ): S;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "C := plot3d( 1/2, theta=0..2*Pi, z=-2..2, s tyle=patch," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 48 " coords=cylindrical , scaling=constrained ): C;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "subs( STYLE(PATCH) = STYLE(PATCHCONTOUR), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " display( \{S,C\}, axes=box, orientation=[20,70], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " scaling=constrained ) ); " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "r := a + b*cos(n*t): z := c *sin(n*t):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "curve:=[ r*co s(m*t), r*sin(m*t), z ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "a:=2: b:=4/5: c:=1: m:=4: n:=7:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "tubeplot( curve, t=0..2*Pi, radius=1/4, numpoints=200 , " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " tubepoints=20, orientation= [45,10], style=patch, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 " shading =xyz ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots): with(plottools) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "implicitplot3d( cosh(z )=sqrt(x^2+y^2)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " x=-3..3, y=-3 ..3, z=-2.5..2.5, grid=[15,15,20]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " style=patchcontour, contours=15, axes=box, " }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 25 " orientation=[30,70] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "r * ( 4 + 2*cos(3*theta) - cos(3*theta+2*phi)" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " - cos(-3*theta+2*phi) + 2*cos(2* phi)) = 2;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "implicitplot3 d( %, r=0..2, theta=0..2*Pi, phi=0..Pi, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " coords=spherical, grid=[10,30,30], " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 57 " style=patchcontour, thickness=2, orientation =[35,30] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "complexplot3 d( GAMMA(z), z= -Pi-Pi*I .. Pi+Pi*I, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " view=0..5, grid=[30,30], orientation=[-120,45]," }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 48 " axes=frame, style=patchcontour, thickness=2 \+ );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots): with(plottools):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "polyhedraplot( [0,0,0], poly type=dodecahedron," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "style=patch, \+ scaling=constrained, orientation=[71,66] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "base := tetrahedron( [0,0,0], 1 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "display( base,style=patch, scaling= constrained," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " orientation=[60,5 0], shading=zgrayscale );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "vertices := \{ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " [ 0, 0, sq rt(3) ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " [ 0, 2*sqrt(2)/sqrt( 3), -1/sqrt(3) ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " [ -sqrt(2), \+ -sqrt(2)/sqrt(3), -1/sqrt(3) ]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " [ sqrt(2), -sqrt(2)/sqrt(3), -1/sqrt(3) ] \}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "translations := map( x -> 1/2*x, vertices ): \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "tetrahedra := \{ seq( \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " translate( scale( base, 1/2, \+ 1/2, 1/2 ), op(t) )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " t=transla tions ) \}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "display( tet rahedra, style=patch, scaling=constrained," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " orientation=[60,50], shading=zgrayscale, thickness= 2 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "translations := map ( x -> 1/2*x, vertices ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "N := 4: # number of iterations" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for k from 2 to N do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " newtranslations := map( x -> x/2^k, vertices ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " translations := \{ seq( seq( t + tnew, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " t=translations ), tnew=newtrans lations ) \}:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "tetrahedra := \{ seq( translate( " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " scale( base, 1/2^N, 1/2^N, 1/2^N), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " \+ op(t) ), t=translations ) \}:" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 48 "display( tetrahedra, style=patchnogrid, scaling=" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " constrained, orientation=[55,50] , shading=zgrayscale );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " S := t -> 100/(100+(t-Pi/2)^8): # for scaling " }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 40 "R := t -> S(t)*(2-sin(7*t)-cos(30*t)/2):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "mapleleaf := plot( [ R, t->t , -Pi/2..3/2*Pi ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 " coords=pol ar, axes=none, color=red, numpoints=1000 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "mapleleaf := subs( CURVES=POLYGONS, mapleleaf ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "rectangles := rectangle([ -5,-1],[-3,4], color=red ), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " \+ rectangle([3,-1],[5,4],color=red ):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 44 "border := plot( \{-1,4\},-3..3, color=black ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "flag2d := display( [ ma pleleaf, rectangles, border ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " view=[-5..5,-1..4], scaling=constrained ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "flag2d;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "flag3d := transform( (x,y,z) -> [x,y,0] )(flag2d):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "wavingflag3d := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " transform( (x,y) -> [x,y,1+1/15*sin(x)] )(flag 3d):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "display( \{ flag3d, wavingflag3d \}, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 " scaling=unc onstrained, orientation=[-110,60],axes=none," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " style=patchnogrid, shading=none );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "DataPlot ting" {TEXT -1 19 "15.13 Data Plotting" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "beverage[beer] := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " [ [1985,85 ], [1990,91], [1993,85], [1994,89] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "beverage[soft_drink] := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " [ [1985,66], [1990,86], [1993,89], [1994,93] ]:" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "beverage[wine] := " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " [ [1985,15], [1990,14.5], [1993,1 6], [1994,16] ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "with( p lots ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "listplot( bever age[beer] ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "listplot( \+ beverage[beer], style=point, symbol=circle, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " color=red ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "display( \{%,%%\}, view=[1984..1995,84..92] );" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "bp := listplot( beverage[bee r], style=point, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " symbol=circl e, color=red ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "bl := li stplot( beverage[beer] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "sp := listplot( beverage[soft_drink], style=point," }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 32 " symbol=diamond, color=blue ): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "sl := listplot( beverage[soft_drink ], linestyle=3 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "with( \+ plottools, [line,point] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "bL := line( [1990,72], [1992,72] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "bP := point( [1991,72], symbol=circle, color=red ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "bT := textplot( [ 1992.4, 72, \"beer\" ], align=RIGHT ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "sL := line( [1990,70], [1992,70], linestyle=3 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "sP := point( [1991,70], symbol=diam ond, color=blue ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "sT := textplot( [ 1992.4, 70, \"soft drink\" ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " align=RIGHT ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "display( \{bp,bl,sp,sl,bL,bP,bT,sL,sP,sT\}," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " labels=[year,consumption], " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 50 " title=\"annual consumption of beer and soft drink\\" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " per inhabitant (in lit er)\", view=[1984..1995,65..94] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "M := map( d -> map2(op,2,op(d)), [entries(beverage)] \+ ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "setattribute( M, matr ix );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "indices( beverage \+ );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "matrixplot( M, height s=histogram, style=patch," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " shad ing=zgrayscale, orientation=[-75,75], axes=box," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " tickmarks=[[1.5=\"soft_drink\",2.5=\"beer\",3.5=\"w ine\"]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " [1.5=1985,2.5=1990,3.5 =1993,4.5=1994],5], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 56 " labels=[ \"\",\"\",\"quantity\"], font=[HELVETICA,DEFAULT,8] " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2 ");" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " data94 := linalg[submatrix]( M, 1..3, 4..4 ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "matrixplot( data94, heights=histogram, style=pat ch," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 " shading=zgrayscale, orient ation=[-90,90], axes=box," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " tick marks=[[1.5=\"soft drink\",2.5=\"beer\",3.5=\"wine\"],0,5], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " labels=[\"\",\"\",quantity], font=[HELV ETICA,DEFAULT,8]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 45 " title=\"cons umption of beverages in 1994\" );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "circular_bar_chart := proc( d::listlist )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " local n,i, pies, text, grayshades:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " n := nops(d):" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 42 " grayshades := map( x->COLOR(RGB,x,x,x), " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " [0.5,0.7,0.9] ):" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 15 " for i to n do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " pies[i] := plottools[pieslice](" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " [0,0],d[i][2],2*Pi*(i-1)/n..2*Pi*i/n, " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 " color=grayshades[eval(1+ (i m od 3))] ):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " text[i] := plots [textplot]( [ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " 1/2*d[i][2] *cos(Pi*(2*i-1)/n), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " 1/2*d [i][2]*sin(Pi*(2*i-1)/n), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " \+ convert( d[i][1], name ) ], " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " \+ font=[HELVETICA,BOLD,8] )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " o d:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " plots[display]( [ seq(pies[ i], i=1..n), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " seq( text[i], \+ i=1..n )], axes=none, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " scali ng=constrained )" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "data94 := [ seq( [ op(indices(bever age)[i]), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " data94[i,1]], i=1.. 3 ) ]; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "circular_bar_ch art( data94 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "Values := map( d -> op(2,d), data94 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "Percentages := map( (x,s) -> 100*x/s, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 28 " Values, `+`(op(Values)) );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "Labels := map( d -> op(1,d), data94 ); " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "pareto( Percentages, tags=La bels );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "isgaussianprime \+ := " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " (x,y) -> if GaussInt[GIpri me](x+I*y) then" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " 0 \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " else " }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 16 " 1 " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " fi:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "data := array( [ seq( [ seq( isgaussianprime(i,j), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " i=-25..25 ) ], j=-25..25 ) ] ):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "ticks := [ 1=-25, 26=0, 51=2 5 ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "display( listdensit yplot( data, style=patchnogrid, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " axes = box, scaling=constrained )," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " xtickmarks=ticks, ytickmarks=ticks );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "data94; " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "values94 := [ seq( Weight( i..i+1, data94[i,2] ), " }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 13 " i=1..3 ) ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "with( stats ): with( statplots ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "histogram( values94, color=yellow, tickmark s=" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 52 " [[1.5=\"softdrink\",2.5=\"b eer\",3.5=\"wine\"],default]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " \+ font=[HELVETICA,DEFAULT,10] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "ssystem(\"cat CHAP15/datafile\")[2]; # display data " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "with( stats): with(statplots ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "Digits := 5:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "data := importdata( \"CHAP15 /datafile\", 2 );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "datapl ot := scatterplot( data, symbol=diamond, \ncolor=black ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "dataplot; # display the scatter plo t" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "fit[leastsquare[ [x,y] , y= a + b*sin(x) + c*sin(2*x), " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 " \{a,b,c\} ]]( [data] );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "curve := plot( rhs(%), x=0..1, color=blue ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "display( \{ dataplot, curve \} );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 1 {PARA 3 "" 0 "Animatio n" {TEXT -1 15 "15.14 Animation" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "with(plo ts):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "animate( sin(2*Pi*( x+t)), x=0..4, t=0..1, numpoints=500, frames=8 );" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 11 "display(%);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for i from 0 to 8 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " P[i] := implicitplot( x^3 +y^3 - 5*x*y = 1-i/4, " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " x=-3..3, y=-3..3, tickmarks=[2,2] )" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "od: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "display( [ seq( P[i], i=0..8 ) ], insequence=true ); " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "display(%);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "with(plots): with(plottools):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "base := display( octahedron ([0,0,0],1),\ncolor=blue, scaling=constrained, axes=none,\nstyle=hidde n, thickness=3, orientation=[30,60] ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "N := 16:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "angles := [ seq( Pi*k/(2*N), k=0..(N-1) ) ]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "for phi in angles do\n P[phi] := rotate( base,0, 0,phi )\nod:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "display( [ \+ seq( P[phi], phi=angles ) ],\ninsequence=true );" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }