{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times " 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 } {PSTYLE "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output " -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Maple Pl ot" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT -1 40 "Courbe, labyrinthe de P \351ano et variantes" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "Alain Esc ulier - Programme r\351\351crit en juillet 2011 \n" }}{PARA 0 "" 0 "" {TEXT -1 92 "Les transformations rotations, translations, sym\351tries sont traduites \340 l'aide des complexes" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 12 " utilitair es" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1388 "restart:\nwith(plots ): \nC2R:=Z ->[Re(Z),Im(Z)]:\nLC2R:= proc(L) local i,tp;\n tp:=NU LL;\n for i to nops(L) do\n if type(evalf(L[1]),complex) \+ then tp:=tp,C2R(L[i]): else tp:=tp,LC2R(L[i]): fi;\n od:\n[tp]\ne nd:\naa:=3;\nfond:=polygonplot([[0,0],[aa,0],[aa,aa],[0,aa]],color=COL OR(RGB,0.98,1,0.9),thickness=2):\nquadrillage:=(n) -> plot(\{seq([[0,a a*i/3^n],[aa,aa*i/3^n]],i=0..3^(n)),\n seq([[ aa*i/3^n,0],[aa*i/3^n,aa]],i=0..3^(n)) \},color=black,linestyle=3,thic kness=1):\nLtrans:=(V,Liste) -> if type(evalf(Liste[1]),complex) then \+ map( u ->expand(u+V),Liste): else map( u->Ltrans(V,u),Liste) fi:\nLmul t:=(z,Liste) -> if type(evalf(Liste[1]),complex) then map( u ->u*z,Lis te): else map( u->Lmult(z,u),Liste) fi:\nrenverse:=proc(L) local n,i: \+ n:=nops(L): [seq(L[n-i+1],i=1..n)]: end:\nrenversetout:=proc(L) local tp,i;\n tp:=NULL:\n for i to nops(L) do\n if type(evalf( L[i]),complex) then tp:=L[i],tp: else tp:=renversetout(L[i]),tp: fi;\n od;\n [tp]; \n end:\nLconjugate:= proc(L) if type(L[1],co mplex) then map(conjugate,L) else map(Lconjugate,L): fi; end:\nfond:=p olygonplot([[-3,-3],[3,-3],[3,3],[-3,3]],color=COLOR(RGB,0.98,1,0.9)): \nquadrillage:=proc(n) \n local i,pas:\n pas:=2/3^(n-1);\n \+ plot([seq([[-3+i*pas,-3],[-3+i*pas,+3]],i=0..3^n),\n seq([[ -3,-3+i*pas],[3,-3+i*pas]],i=-0..3^n)],linestyle=3,color=black):\nend: \n" }}{PARA 7 "" 1 "" {TEXT -1 50 "Warning, the name changecoords has \+ been redefined\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#aaG\"\"$" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 88 " Courbes de P\351ano et variantes : les extr\351mit\351s \+ du motif sont sur une diagonale du carr\351" }}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 12 " g\351n\351ralit\351s" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 269 "#=================================================== ======================\n# ====on part du carr\351 de cot\351 centr\351 en O\n#=== le chemin de base est donc [-2-2*I,-2,-2+2*I,2*I,0,-2*I,2- 2*I,2,2+2*I]\n#======================================================= ==================\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 820 "#========= ================au sens pr\350s ====================================== ====\n#==== type Dm diagonale montante :ID=motif SXR=symOX(rot(Pi/2,ID )) ( IDr,SXRr sens inverse) \n#==== type Dd diagonale descendante :IDR =rot(Pi/2,motif) SX=symOX(ID) ( IDRr,SXr sens inverse)\n#==== forme de s suites : [Dm,Dd,Dm, Dd,Dm,Dd, Dm,Dd,Dm] ==> 2^9 courbes possibles\ns uites_possibles:=proc() local forme,i,j,k,l,m,n,o,p,q,tp,rg: global I D, IDr, SXr, SXR, IDR, SXRr:\n rg:=1..2:\n forme:=[ [ID,SXR],[SX r,IDR],[ID,SXR], [-SXr,-IDR],[IDr,SXRr],[-SXr,-IDR], [ID,SXR],[SXr,IDR ],[ID,SXR]]:\n [seq(seq(seq( seq(seq(seq( seq(seq(seq([forme[1,i],f orme[2,j],forme[3,k], forme[4,l],forme[5,m],forme[6,n],\n for me[7,o],forme[8,p],forme[9,q]],i=rg),j=rg),k=rg),l=rg),m=rg),n=rg),o=r g),p=rg),q=rg)]:\nend: \nLsuites:=suites_possibles():" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 72 " Proc\351dures de calculs et de diff\351rents trac\351s de P \351ano et des variantes" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1231 "Peano:= proc(n, K,suite)\n local i,j,liste1,base,J,sx,sxr,id ,idr,idR,idRr,sxR,sxRr,depart :\n base:=[-2-2*I,-2,-2+2*I,2*I,0 ,-2*I,2-2*I,2,2+2*I];\n #====== formes diff\351rentes selon le depa rt choisi ==========\n depart:=[-K*3*(1+I),K*3*(1+I)]: # depa rt:=base; #\n liste1:=depart:\n for i from 2 to n do\n \+ id:=liste1/3: idr:=renversetout(id): idR:=Lmult(I,id): idRr:=renverset out(idR): \n sx:= Lconjugate( id): sxr:=renversetout(sx): sxR: =Lmult(I,sx): sxRr:=renversetout(sxR):\n liste1:= subs(ID=id,ID R=idR,IDRr=idRr,IDr=idr,SX=sx,SXr=sxr,SXR=sxR,SXRr=sxRr, suite) :\n \+ liste1:=[seq(Ltrans(base[j],liste1[j]),j=1..nops(base))]:\n \+ if i>2 then liste1:=map(op,liste1): fi; # on garde le motif de base \+ seulement\n od;\nLC2R(liste1): \nend:\nPeano_motif := proc(n,K,suit e,coul)\n local liste :\n if n < 1 then print(\"Le 1er param\350tre \+ est un entier >0 \") \n else display(plot(Peano(n,K,suite),color=co ul),scaling=constrained):\n fi;\nend:\nPeano_continu := proc(n,K,suit e,coul)\n local liste :\n if n < 1 then print(\"Le 1er param\350tre \+ est un entier >0 \") \n elif n=1 then liste:=Peano(n,K,suite) else liste:=map(op,Peano(n,K,suite)): fi;\n display(plot(liste,col or=coul)):\nend:" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 13 " Applications" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 596 "########## suites particuli\350res ####### ##############################################################\n#----- wunderlich Lsuites[171] soit choix:=[ID, IDR, ID, -IDR, IDr, -IDR, ID , IDR, ID]: \n#----- peano Lsuites[1] soit choix:=[ID, SXr, ID, -SXr, \+ IDr, -SXr, ID, SXr, ID]:\n#----- Colonnes sym\351triques Lsuites[512] soit choix:=[SXR, IDR, SXR, -IDR, SXRr, -IDR, SXR, IDR, SXR]\n####### ###################################################################### ######################### \nchoix:=Lsuites[50]:\nn,K:=3, 0.1;\n\n#plot setup(gif,plotoutput=\"j:/L[50]-0.1.gif\",plotoptions=\"width=400,heig ht=400\"):\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 179 "display([display(P eano_motif(n,K,choix,blue),thickness=2), display(Peano_continu(n,K,c hoix,red),thickness=2),\n quadrillage(n-1),fond],axes=non e);\nplotsetup(inline);" }{TEXT -1 1 "\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"nG%\"KG6$\"\"$$\"\"\"!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 384 "#==== animation ====\nn,K:=3, 1;\nP:=20;\ngr:=displa y([display([seq(display([display(Peano_motif(n,i*K/P,choix,blue),thick ness=3),\n display(Peano_continu(n,i*K/P,choix,re d),thickness=2)]),i=0..P)],insequence=true),\nquadrillage(n-1),fond],a xes=none):\n#plotsetup(gif,plotoutput=\"j:/variantesPeano-ordre2.gif\" ,plotoptions=\"width=500,height=500\"):\ngr;\nplotsetup(inline);" } {TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"nG%\"KG6$\"\"$\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"PG\"#?" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 20 " Labyrinthe de P\351ano " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1032 "labPeano := proc(n,cou l)\n local i,j,liste1,base,J,sx,sxr,id,idr,idR,idRr,sxR,sxRr,depart ,suite :\n base:=[-2-2*I,-2,-2+2*I,2*I,0,-2*I,2-2*I,2,2+2*I];\n #====== formes diff\351rentes selon le depart choisi ==========\n \+ depart:=[-3-I,-3+3*I,1+3*I,1-I,1+3*I]:\n suite:=[ID,SXr,ID, SYr ,-ID,SYr, ID,SXr,ID]:#[ID,SX,ID,SY,SO,SY,ID,SX,ID]: \n liste1:= depart:\n for i from 2 to n do\n id:=liste1/3: idr:=renverse tout(id): sx:= Lconjugate( id): sxr:=renversetout(sx): \n l iste1:= subs(ID=id,IDr=idr,SX=sx,SXr=sxr,SY=-sx,SYr=-sxr, suite) :\n \+ liste1:=[seq(Ltrans(base[j],liste1[j]),j=1..nops(base))]:\n \+ if i>1 then liste1:=map(op,liste1): fi; # on garde le motif de base seulement\n od;\nliste1:=[[-3,-3],op(LC2R(liste1))]:\nplot(\{liste 1,-liste1\},color=coul,thickness=2):\nend:\nN,K:=2, 0.2; \nchoix:=[ID, SXr, ID, -SXr, IDr, -SXr, ID, SXr, ID]:\npea:=map(op,Peano(N+1,K,choi x)):\n#display([display(plot(pea,color=red),thickness=2),labPeano(N,bl ack),quadrillage(N-1)],scaling=constrained,axes=none);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"NG%\"KG6$\"\"#$F(!\"\"" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 0 "" }{MPLTEXT 1 0 330 "\n#========animation ========= = \n\n#plotsetup(gif,plotoutput=\"j:/labyrinthePeano.gif\",plotoptions =\"width=500,height=500\"):\ngr;\ndisplay([labPeano(N,black),\n \+ display([plot([pea[1],pea[1]]),seq(plot(pea[1..3*i]),i=1..nops(pea)/3) ],color=red,thickness=2,insequence=true)],\n scaling=constrained ,axes=none);\nplotsetup(inline);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 69 " motif grec : les extr\351mit\351 s du motif sont sur le m\352me cot\351 du carr\351" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 781 "#=========================au sens pr\350s \+ ==========================================\n#==== type cote bas cb :ID =motif -SX === type cote haut ch :-ID SX\n#==== type cote Gauche cg : \+ SXR -IDR === type cote droit cd : -SXR IDR\n#==== forme des suites : [ cg,cg,cb, cb,cb,ch, cd,cd,cb ] ==> 2^9 courbes possibles\nsuitesG_poss ibles:=proc() local forme,i,j,k,l,m,n,o,p,q,tp,rg: global ID, IDr, SX r, SXR, IDR, SXRr:\n rg:=1..2:\n forme:=[ [-IDRr,SXR],[-IDRr,SXR ],[ID,-SXr], [ID,-SXr],[ID,-SXr],[-ID,SXr], [IDRr,-SXR],[IDRr,-SXR],[I D,-SXr]]:\n [seq(seq(seq( seq(seq(seq( seq(seq(seq([forme[1,i],form e[2,j],forme[3,k], forme[4,l],forme[5,m],forme[6,n],\n forme[ 7,o],forme[8,p],forme[9,q]],i=rg),j=rg),k=rg),l=rg),m=rg),n=rg),o=rg), p=rg),q=rg)]:\nend: \nLGsuites:=suitesG_possibles():" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1387 "#====================================== ==================================\n#======= K sur [0,1], ne sert pas \+ si d\351part=base =========================\nPeanoG:= proc(n, K,suite) \n local i,j,liste1,base,J,sx,sxr,id,idr,idR,idRr,sxR,sxRr,dep art :\n base:=[-2-2*I,-2,-2+2*I,2*I,2+2*I,2,0,-2*I, 2-2*I];\n \+ #====== formes diff\351rentes selon le depart choisi ==========\n \+ depart:= base; # depart:= K*[-3-3*I,3-3*I]; # \n liste1:=de part:\n for i from 2 to n do\n id:=liste1/3: idr:=renverseto ut(id): idR:=Lmult(I,id): idRr:=renversetout(idR): \n sx:= Lcon jugate( id): sxr:=renversetout(sx): sxR:=Lmult(I,sx): sxRr:=renverset out(sxR):\n liste1:= subs(ID=id,IDR=idR,IDRr=idRr,IDr=idr,SX=sx ,SXr=sxr,SXR=sxR,SXRr=sxRr, suite) :\n liste1:=[seq(Ltrans(base [j],liste1[j]),j=1..nops(base))]:\n if i>2 then liste1:=map(op, liste1): fi; # on garde le motif de base seulement\n od;\nLC2R(list e1): \nend:\nPeanoG_motif := proc(n,K,suite,coul)\n local liste :\n \+ if n < 1 then print(\"Le 1er param\350tre est un entier >0 \") \n els e display(plot(PeanoG(n,K,suite),color=coul),scaling=constrained):\n fi;\nend:\nPeanoG_continu := proc(n,K,suite,coul)\n local liste :\n if n < 1 then print(\"Le 1er param\350tre est un entier >0 \") \n \+ elif n=1 then liste:=PeanoG(n,K,suite) else liste:=map(op,PeanoG (n,K,suite)): fi;\n display(plot(liste,color=coul)):\nend:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 246 "choix:=LGsuites[512];\nn,K: =2,0.9;\ndisplay([display(PeanoG_motif(n,K,choix,blue),thickness=2), \+ \n display(PeanoG_continu(n,K,choix,red),thickness=2),\n \+ quadrillage(n-1),fond],axes=none,scaling=constrained);\n#plot setup(inline);" }}{PARA 13 "" 1 "" {TEXT -1 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "9" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }