Rev 18542 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
18401 | bpr | 1 | !if $wims_read_parm!=slib_header |
2 | !goto proc |
||
3 | !endif |
||
4 | slib_title=Pavage affine par des triangles |
||
5 | slib_author=Bernadette, Perrin-Riou |
||
6 | slib_parms=3\ |
||
7 | ,[p,q,r]\ |
||
8 | 10,bound\ |
||
9 | size=600 color=[black,white] option (mots) : size= color=[] html/url |
||
10 | |||
11 | slib_out=dessin du pavage affine par des triangles ou code ou url selon les cas |
||
12 | |||
18542 | bpr | 13 | slib_comment=Les angles du triangle de base sont 2pi/p,2pi/q,2pi/r avec 1/p+1/q+1/r=1/2.\ |
18401 | bpr | 14 | le deuxième paramètre bound permet de faire afficher environ bound^2 triangles.\ |
15 | Attention, si bound est trop grand, il y aura une erreur de WIMS. |
||
18546 | bpr | 16 | slib_example=[3,3,3,3,3,3],0.001,size=400 color=black html type=3\ |
17 | [4,4,4,4],0.001,size=400 color=black html type=3\ |
||
18 | [3,4,6,4],0.001,size=400 color=black html type=3\ |
||
19 | [3,6,3,6],0.001,size=400 color=[black,red] html type=3\ |
||
20 | [3,4,6,4],0.01,size=400 color=black html type=1\ |
||
21 | [3,4,6,4],0.001,size=400 color=black html type=3\ |
||
22 | [3,4,6,4],0.001,size=400 color=black html type=1\ |
||
23 | [3,4,6,4],0.01,size=400 color=black html type=2\ |
||
24 | [4,6,12],0.01,size=400 color=black html type=1\ |
||
25 | [4,6,12],0.01,size=400 color=black html type=2\ |
||
26 | [4,6,12],0.01,size=400 color=[black,red] html type=3\ |
||
27 | [3,4,6,4],0.01,size=400 color=black html type=3\ |
||
28 | [3,4,6,4],0.01,size=400 color=black html type=3\ |
||
29 | [4,8,8],0.01,size=400 color=black html type=3\ |
||
30 | [3,3,3,3,3,3],5,size=400 color=black html type=3\ |
||
31 | |||
18401 | bpr | 32 | !exit |
33 | :proc |
||
34 | |||
18546 | bpr | 35 | !reset slib_Test slib_type slib_type0 slib_bound slib_size slib_color slib_dessin slib_dessin1 slib_dessin2 slib_dessin3 slib_depl slib_fill slib_dual |
18401 | bpr | 36 | !distribute items $wims_read_parm into slib_data,slib_bound,slib_option |
18546 | bpr | 37 | !set slib_gpprog=afftiling |
38 | !if $slib_bound<0.01 |
||
39 | !!reset slib_bound |
||
40 | !endif |
||
41 | !set wims_multiexec=$wims_multiexec pari |
||
42 | !default slib_bound=0.01 |
||
18401 | bpr | 43 | !set slib_size=!getopt size in $slib_option |
44 | !default slib_size=600 |
||
45 | !set slib_color=!getopt color in $slib_option |
||
46 | !set slib_color=!declosing $slib_color |
||
18546 | bpr | 47 | !set slib_type=!getopt type in $slib_option |
18401 | bpr | 48 | !default slib_color=black |
18546 | bpr | 49 | !set slib_color=$slib_color,$(slib_color[1]) |
50 | !set slib_color=$(slib_color[1,2]) |
||
51 | !set slib_fill=!getopt fill in $slib_option |
||
52 | !set slib_fill=!declosing $slib_fill |
||
53 | !set slib_depl=!getopt depl in $slib_option |
||
54 | !default slib_depl=0 |
||
55 | !default slib_type=1 |
||
18401 | bpr | 56 | !set slib_pqr=!declosing $slib_data |
18546 | bpr | 57 | !set slib_pqr=!exec pari [$slib_pqr] |
58 | !if regular notin $slib_option |
||
59 | !set slib_n=!itemcnt $slib_pqr |
||
60 | !set slib_testexist=!exec pari a=[$slib_pqr];test=vecsum(vector($slib_n,i,1/a[i]))!=($slib_n-2)/2;if(a[1]%2==1, test+=a[$slib_n]!=a[2]);a=concat(a,a[1]);for(i=2,$slib_n,if(a[i]%2==1,test+=a[i-1]!=a[i+1])); test |
||
61 | !if $slib_testexist>0 |
||
62 | !set slib_out=error $slib_testexist>0 |
||
63 | !if $slib_testexist>0 |
||
64 | !exit |
||
65 | !endif |
||
66 | !endif |
||
67 | !if regular isin $slib_option |
||
68 | !if $[1/$(slib_pqr[1])+1/$(slib_pqr[2])]!=1/2 |
||
69 | slib_out=Error regular |
||
70 | !exit |
||
71 | !endif |
||
72 | !set slib_pqr=!makelist $(slib_pqr[2]) for x=1 to $(slib_pqr[1]) |
||
73 | !endif |
||
74 | !set slib_testint=!exec pari t=[$slib_pqr]; t-round(t)==0 |
||
75 | !if $slib_testint!=1 |
||
76 | slib_out=Error integers |
||
18401 | bpr | 77 | !exit |
78 | !endif |
||
18546 | bpr | 79 | !!if $(slib_header_$slib_gpprog)= |
80 | !readproc gp/$slib_gpprog.gp |
||
81 | !set slib_tiling=!exec pari tikz=0;$(slib_header_$slib_gpprog); |
||
82 | !!endif |
||
83 | slib_depl:0 pas au centre |
||
84 | 1 au centre |
||
85 | !default slib_type=1 |
||
86 | 1-> 1,2 |
||
87 | 2-> 3,4 |
||
88 | 3- > le faire en deux fois. |
||
89 | !set slib_type0=$slib_type |
||
90 | !if $slib_type=3 |
||
91 | !set slib_type0=1,2 |
||
92 | !else |
||
93 | !set slib_type0=$slib_type |
||
18401 | bpr | 94 | !endif |
18546 | bpr | 95 | !set slib_tiling=!exec pari wwww=wims_catalan([$slib_pqr],$slib_bound,$slib_depl,$(slib_type0[1]));default(realprecision,3);wwww |
96 | !set slib_data=!trim $(slib_tiling[2*$(slib_type0[1])-1,2*$(slib_type0[1])]) |
||
97 | !if $(slib_type0[1])=1 |
||
98 | !if fill iswordof $slib_option |
||
99 | !set slib_pol=fpolygon |
||
100 | !default slib_color=black,white |
||
101 | !else |
||
102 | !set slib_pol=polygon |
||
103 | !set slib_col=$(slib_color[1]) |
||
18401 | bpr | 104 | !endif |
18546 | bpr | 105 | !else |
106 | !set slib_pol=rays |
||
107 | !set slib_col=$(slib_color[1]) |
||
108 | !endif |
||
109 | !readproc slib/geo2D/offtiling |
||
110 | !if $slib_type=3 |
||
111 | !set slib_type0=2 |
||
112 | !set slib_tiling=!exec pari wwww=wims_catalan([$slib_pqr],$slib_bound,$slib_depl,$(slib_type0));default(realprecision,3);wwww |
||
113 | !set slib_data=!trim $(slib_tiling[2*$(slib_type0)-1,2*$(slib_type0)]) |
||
114 | !set slib_pol=rays |
||
115 | !set slib_col=$(slib_color[2]) |
||
116 | !readproc slib/geo2D/offtiling |
||
117 | !endif |
||
118 | !set slib_out=xrange $slib_range\ |
||
18401 | bpr | 119 | yrange $slib_range\ |
120 | $slib_dessin\ |
||
121 | $slib_dessin1\ |
||
122 | $slib_dessin2\ |
||
123 | $slib_dessin3 |
||
124 | !if url iswordof $slib_option or html iswordof $slib_option |
||
125 | !set insdraw_size=$slib_size,$slib_size |
||
126 | !insdraw $slib_out |
||
18546 | bpr | 127 | !set slib_out=$ins_url |
18401 | bpr | 128 | !if html iswordof $slib_option |
18546 | bpr | 129 | !if alt iswordof $slib_option |
130 | !set slib_alt=[$slib_pqr] |
||
131 | !else |
||
132 | !reset slib_alt |
||
133 | !endif |
||
134 | !set slib_out=<img src="$ins_url" alt="$slib_alt"> |
||
18401 | bpr | 135 | !else |
18546 | bpr | 136 | !set slib_out=$slib_out,$insdraw_size |
18401 | bpr | 137 | !endif |
138 | !endif |