{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 0 14 0 0 0 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text \+ Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Courier " 0 12 0 0 128 1 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 "" 0 9 0 0 0 1 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "with(plots):with(lin alg):with(plottools):" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new def inition for norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definiti on for trace" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "Assonometria: i=a I+bJ, j=cI+dJ, k=eI+fJ" }}{PARA 0 "" 0 "" {TEXT -1 55 "Inserire la mat rice di assonometria [[a,b],[c,d],[e,f]]" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "AS:=transpose(matrix(3,2,[-1/2,-1/2,1,0,0,1])):" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 179 "La procedura r3r2 esegue la trasf ormazione lineare che muta le coordinate di un punto dello spazio nell e coordinate della sua proiezione sul \"quadro\" della assonometria ca valiera." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "r3r2:=proc(vetr3);evalm (AS&*vetr3)[1],evalm(AS&*vetr3)[2]:end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 89 "La procedura assi traccia in colore gli assi cartesiani x , y, z, con lunghezza ux, uy,uz." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 194 "assi:=proc(ux,uy,uz); display(line([r3r2([0,0,0])],[r3r2([ux,0,0] )]),line([r3r2([0,0,0])],[r3r2([0,uy,0])]),line([r3r2([0,0,0])],[r3r2( [0,0,uz])]),scaling=constrained,axes=none,color=black):end:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 162 "La proc. circ determina le coordi nate parametriche in R3 della circonferenza di centro C(x0,y0,z0) di r aggio r che sta sul piano per C di vettore normale [a,b,c]." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 196 "ortogonale:=proc(a,b,c);if [a,b,c]=[a,0, 0] then vector([0,1,0]) elif [a,b,c]=[0,b,0] then vector([0,0,1]) elif [a,b,c]=[0,0,c] then vector([1,0,0]) else normalize(vector([b*c,a*c,- 2*a*b])):fi:end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 130 "base:= proc(rx,ry,rz) local vn,pn,qn;vn:=normalize([rx,ry,rz]);pn:=ortogonale (rx,ry,rz);qn:=crossprod(vn,pn);augment(pn,qn,vn);end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 208 "circ:=proc(x0,y0,z0,r,a,b,c) local A,A1,A2,A0,v;A:=base(a,b,c);A1:=convert(col(A,1),vector);A2:=convert( col(A,2),vector);A0:=convert([x0,y0,z0],vector);v:=evalm(A0+r*cos(t)*A 1+r*sin(t)*A2);v[1],v[2],v[3]:end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 68 "La proc. cerchio disegna in assonometria cavaliera la circonfer enza " }}{PARA 0 "" 0 "" {TEXT -1 85 "di centro C(x0,y0,z0) di raggio \+ r che sta sul piano per C di vettore normale [a,b,c]." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 115 "cerchio:=proc(x0,y0,z0,r,a,b,c);plot([r3r2([cir c(x0,y0,z0,r,a,b,c)]),t=-Pi..Pi],axes=none,scaling=constrained);end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 130 "La proc. segmento disegna in a ssonometria cavaliera il segmento di estremi (x1,y1,z1) e (x2,y2,z2). \+ Linestyle=3 per il tratteggio." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 121 " segmento:=proc(x1,y1,z1,x2,y2,z2);display(line([r3r2([x1,y1,z1])],[r3r 2([x2,y2,z2])]),axes=none,scaling=constrained);end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 88 "La proc. cubo disegna in assonometria cavaliera il cubo con spigoli sugli assi di lato l" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 249 "cubo:=proc(l);display(\{segmento(l,l,l,l,0,l),segmen to(l,l,l,0,l,l),segmento(l,l,l,l,l,0),segmento(l,0,0,l,0,l),segmento(l ,0,0,l,l,0),segmento(l,0,l,0,0,l),segmento(0,0,l,0,l,l),segmento(0,l,l ,0,0,l),segmento(l,l,0,0,l,0),segmento(0,l,0,0,l,l)\});end:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 73 "La proc. curva disegna il luogo de i punti [x(t),y(t),z(t)] con t=t0..t1. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 125 "curva:=proc(a,b,c,t0,t1);convert([a,b,c],vector):plot([r3r2([ a,b,c]),t=t0..t1],axes=none,scaling=constrained,color=blue);end:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 179 "La proc. ellisse determina l'equa z. cartesiana dell'ellisse proiezione sul quadro del cerchio di centro C(x0,y0,z0), raggio r, che sta sul piano per C di vettore normale [a ,b,c]." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 281 "ellisse:=proc(x0,y0,z0,r ,a,b,c) local esp,M,v;esp:=r3r2([circ(x0,y0,z0,r,a,b,c)]);M:=matrix(2, 2,[simplify(subs(t=0,esp[1])),simplify(subs(t=Pi/2,esp[1])),simplify(s ubs(t=0,esp[2])),simplify(subs(t=Pi/2,esp[2]))]);v:=linsolve(M,[X,Y]); sort(expand(v[1]^2+v[2]^2-1=0,[X,Y],plex));end:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 167 "La proc. poligono traccia il poligono regolare di n lati inscritto nella circonferenza di centro (x0,y0,z0) e raggio r, c he giace sul piano di vettore normale [a,b,c]." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 196 "poligono:=proc(x0,y0,z0,n,r,a,b,c) local k,C;\nC:=r3 r2([circ(x0,y0,z0,r,a,b,c)]):\ndisplay(polygon([seq([subs(t=2*k*Pi/n,C [1]),subs(t=2*k*Pi/n,C[2])],k=0..n-1)]),axes=none,scaling=constrained) ;\nend:" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 25 "Cubo con cerchi inscri tti" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 115 "display(cerchio(1,1/2,1/2,1 /2,1,0,0),cerchio(1/2,1,1/2,1/2,0,1,0),cerchio(1/2,1/2,1,1/2,0,0,1),cu bo(1),color=blue);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "Cubo con ce rchi e pentagoni inscritti" }{MPLTEXT 1 0 200 "display(cerchio(1,0.5,0 .5,0.5,1,0,0),cerchio(0.5,0.5,1,0.5,0,0,1),cerchio(0.5,1,0.5,0.5,0,1,0 ),poligono(0.5,0.5,1,5,0.5,0,0,1),poligono(1,0.5,0.5,5,0.5,1,0,0),poli gono(0.5,1,0.5,5,0.5,0,1,0),cubo(1));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 200 "display(cerchio(1,0.5,0.5,0.5,1,0,0),cerchio(0.5,0.5 ,1,0.5,0,0,1),cerchio(0.5,1,0.5,0.5,0,1,0),poligono(0.5,0.5,1,3,0.3,0, 0,1),poligono(1,0.5,0.5,5,0.3,1,0,0),poligono(0.5,1,0.5,4,0.3,0,1,0),c ubo(1));" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 39 "Prisma pentagonale co n cerchi inscritti" }{MPLTEXT 1 0 757 " display(poligono(0,0,2*sin(Pi/ 5),5,1,0,0,1),cerchio(0,0,2*sin(Pi/5),cos(Pi/5),0,0,1),segmento(1,0,0, 1,0,2*sin(Pi/5)),segmento(cos(2*Pi/5),sin(2*Pi/5),0,cos(2*Pi/5),sin(2* Pi/5),2*sin(Pi/5)),segmento(cos(4*Pi/5),sin(4*Pi/5),0,cos(4*Pi/5),sin( 4*Pi/5),2*sin(Pi/5)),segmento(cos(-2*Pi/5),sin(-2*Pi/5),0,cos(-2*Pi/5) ,sin(-2*Pi/5),2*sin(Pi/5)),segmento(1,0,0,cos(2*Pi/5),sin(2*Pi/5),0),s egmento(1,0,0,cos(-2*Pi/5),sin(-2*Pi/5),0),segmento(cos(2*Pi/5),sin(2* Pi/5),0,cos(4*Pi/5),sin(4*Pi/5),0),cerchio(cos(Pi/5)^2,cos(Pi/5)*sin(P i/5),sin(Pi/5),sin(Pi/5),cos(Pi/5),sin(Pi/5),0),cerchio(cos(-Pi/5)^2,c os(-Pi/5)*sin(-Pi/5),sin(Pi/5),sin(Pi/5),cos(-Pi/5),sin(-Pi/5),0),cerc hio(cos(Pi/5)*cos(3*Pi/5),cos(Pi/5)*sin(3*Pi/5),sin(Pi/5),sin(Pi/5),co s(3*Pi/5),sin(3*Pi/5),0));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 775 "prisma:=n->display(poligono(0,0,2*sin(Pi/n),n,1,0,0,1),cerchio(0, 0,2*sin(Pi/n),cos(Pi/n),0,0,1),segmento(1,0,0,1,0,2*sin(Pi/n)),segment o(cos(2*Pi/n),sin(2*Pi/n),0,cos(2*Pi/n),sin(2*Pi/n),2*sin(Pi/n)),segme nto(cos(4*Pi/n),sin(4*Pi/n),0,cos(4*Pi/n),sin(4*Pi/n),2*sin(Pi/n)),seg mento(cos(-2*Pi/n),sin(-2*Pi/n),0,cos(-2*Pi/n),sin(-2*Pi/n),2*sin(Pi/n )),segmento(1,0,0,cos(2*Pi/n),sin(2*Pi/n),0),segmento(1,0,0,cos(-2*Pi/ n),sin(-2*Pi/n),0),segmento(cos(2*Pi/n),sin(2*Pi/n),0,cos(4*Pi/n),sin( 4*Pi/n),0),cerchio(cos(Pi/n)*cos(Pi/n),cos(Pi/n)*sin(Pi/n),sin(Pi/n),s in(Pi/n),cos(Pi/n),sin(Pi/n),0),cerchio(cos(-Pi/n)^2,cos(-Pi/n)*sin(-P i/n),sin(Pi/n),sin(Pi/n),cos(-Pi/n),sin(-Pi/n),0),cerchio(cos(Pi/n)*co s(3*Pi/n),cos(Pi/n)*sin(3*Pi/n),sin(Pi/n),sin(Pi/n),cos(3*Pi/n),sin(3* Pi/n),0)):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "prisma(7);" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "Contorno apparente della sfera e cerchi fondamentali" }{MPLTEXT 1 0 249 "display(assi(2,2,2),cerchio(0 ,0,0,1,0,0,1),cerchio(0,0,0,1,0,1,0),cerchio(0,0,0,1,1,0,0),curva(1/sq rt(21)*cos(t)-sqrt(6)/sqrt(21)*sin(t),2/sqrt(21)*cos(t)+sqrt(6)/14*sqr t(21)*sin(t),-4/sqrt(21)*cos(t)+sqrt(6)*sqrt(21)/42*sin(t),-Pi,Pi),thi ckness=3);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }