Rev 18546 | 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 | |||
18636 | bpr | 35 | !reset slib_Test slib_type slib_type0 slib_bound slib_cnt 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 |
||
18636 | bpr | 56 | !if canvasdraw iswordof $slib_option |
57 | !set slib_cnt=100 |
||
58 | !if $slib_bound>1 |
||
59 | !set slib_cnt=$slib_bound |
||
60 | !else |
||
61 | !if $slib_type=3 |
||
62 | !set slib_cnt=$[$slib_cnt/2] |
||
63 | !endif |
||
64 | !endif |
||
65 | !else |
||
66 | !set slib_cnt=100 |
||
67 | !endif |
||
18401 | bpr | 68 | !set slib_pqr=!declosing $slib_data |
18546 | bpr | 69 | !set slib_pqr=!exec pari [$slib_pqr] |
70 | !if regular notin $slib_option |
||
71 | !set slib_n=!itemcnt $slib_pqr |
||
72 | !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 |
||
73 | !if $slib_testexist>0 |
||
74 | !set slib_out=error $slib_testexist>0 |
||
75 | !exit |
||
76 | !endif |
||
77 | !endif |
||
78 | !if regular isin $slib_option |
||
79 | !if $[1/$(slib_pqr[1])+1/$(slib_pqr[2])]!=1/2 |
||
80 | slib_out=Error regular |
||
81 | !exit |
||
82 | !endif |
||
83 | !set slib_pqr=!makelist $(slib_pqr[2]) for x=1 to $(slib_pqr[1]) |
||
84 | !endif |
||
85 | !set slib_testint=!exec pari t=[$slib_pqr]; t-round(t)==0 |
||
86 | !if $slib_testint!=1 |
||
87 | slib_out=Error integers |
||
18401 | bpr | 88 | !exit |
89 | !endif |
||
18546 | bpr | 90 | !!if $(slib_header_$slib_gpprog)= |
91 | !readproc gp/$slib_gpprog.gp |
||
92 | !set slib_tiling=!exec pari tikz=0;$(slib_header_$slib_gpprog); |
||
93 | !!endif |
||
94 | slib_depl:0 pas au centre |
||
95 | 1 au centre |
||
96 | !default slib_type=1 |
||
97 | 1-> 1,2 |
||
98 | 2-> 3,4 |
||
99 | 3- > le faire en deux fois. |
||
100 | !set slib_type0=$slib_type |
||
101 | !if $slib_type=3 |
||
102 | !set slib_type0=1,2 |
||
103 | !else |
||
104 | !set slib_type0=$slib_type |
||
18401 | bpr | 105 | !endif |
18546 | bpr | 106 | !set slib_tiling=!exec pari wwww=wims_catalan([$slib_pqr],$slib_bound,$slib_depl,$(slib_type0[1]));default(realprecision,3);wwww |
107 | !set slib_data=!trim $(slib_tiling[2*$(slib_type0[1])-1,2*$(slib_type0[1])]) |
||
108 | !if $(slib_type0[1])=1 |
||
109 | !if fill iswordof $slib_option |
||
110 | !set slib_pol=fpolygon |
||
111 | !default slib_color=black,white |
||
112 | !else |
||
113 | !set slib_pol=polygon |
||
114 | !set slib_col=$(slib_color[1]) |
||
18401 | bpr | 115 | !endif |
18546 | bpr | 116 | !else |
117 | !set slib_pol=rays |
||
118 | !set slib_col=$(slib_color[1]) |
||
119 | !endif |
||
120 | !readproc slib/geo2D/offtiling |
||
121 | !if $slib_type=3 |
||
122 | !set slib_type0=2 |
||
123 | !set slib_tiling=!exec pari wwww=wims_catalan([$slib_pqr],$slib_bound,$slib_depl,$(slib_type0));default(realprecision,3);wwww |
||
124 | !set slib_data=!trim $(slib_tiling[2*$(slib_type0)-1,2*$(slib_type0)]) |
||
125 | !set slib_pol=rays |
||
126 | !set slib_col=$(slib_color[2]) |
||
127 | !readproc slib/geo2D/offtiling |
||
128 | !endif |
||
129 | !set slib_out=xrange $slib_range\ |
||
18401 | bpr | 130 | yrange $slib_range\ |
131 | $slib_dessin\ |
||
132 | $slib_dessin1\ |
||
133 | $slib_dessin2\ |
||
134 | $slib_dessin3 |
||
18636 | bpr | 135 | |
18401 | bpr | 136 | !if url iswordof $slib_option or html iswordof $slib_option |
137 | !set insdraw_size=$slib_size,$slib_size |
||
138 | !insdraw $slib_out |
||
18546 | bpr | 139 | !set slib_out=$ins_url |
18401 | bpr | 140 | !if html iswordof $slib_option |
18546 | bpr | 141 | !if alt iswordof $slib_option |
142 | !set slib_alt=[$slib_pqr] |
||
143 | !else |
||
144 | !reset slib_alt |
||
145 | !endif |
||
146 | !set slib_out=<img src="$ins_url" alt="$slib_alt"> |
||
18401 | bpr | 147 | !else |
18546 | bpr | 148 | !set slib_out=$slib_out,$insdraw_size |
18401 | bpr | 149 | !endif |
150 | !endif |