Rev 18401 | Rev 18546 | 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. |
||
18542 | bpr | 16 | slib_example=[4,8,8],,size=400 color=black html\ |
17 | [4,6,12],10,size=400 color=black html\ |
||
18 | [4,12,6],10,size=400 color=black html\ |
||
19 | [4,6,12],10,size=400 color=black html\ |
||
20 | [4,8,8],20,size=400 color=black html\ |
||
21 | [6,6,6],10,size=400 color=[black,red] html\ |
||
22 | [4,8,8],2,size=400 color=[black,red] html\ |
||
23 | [4,8,8],5,size=400 color=[black,red] html |
||
18401 | bpr | 24 | !exit |
25 | :proc |
||
26 | |||
27 | !reset slib_bound slib_size slib_color slib_dessin slib_dessin1 slib_dessin2 slib_dessin3 |
||
28 | !distribute items $wims_read_parm into slib_data,slib_bound,slib_option |
||
29 | !set slib_size=!getopt size in $slib_option |
||
30 | !default slib_size=600 |
||
31 | !set slib_color=!getopt color in $slib_option |
||
32 | !set slib_color=!declosing $slib_color |
||
33 | !default slib_color=black |
||
34 | !default slib_bound=10 |
||
35 | !set slib_pqr=!declosing $slib_data |
||
18542 | bpr | 36 | !if $[1/$(slib_pqr[1]) + 1/$(slib_pqr[2])+1/$(slib_pqr[3])]!=0.5 |
18401 | bpr | 37 | slib_out=Error |
38 | !exit |
||
39 | !endif |
||
40 | !set wims_multiexec=$wims_multiexec pari |
||
41 | !if $slib_header_coxaff= |
||
42 | !readproc gp/coxaff.gp |
||
43 | !set slib_coxaff=!exec pari $slib_header_coxaff; |
||
44 | !endif |
||
45 | !set slib_coxaff=!exec pari wwww=aff3($slib_pqr,$slib_bound);default(realprecision,3);wwww |
||
46 | !set slib_coxaff=!trim $slib_coxaff |
||
47 | !distribute items $slib_coxaff into slib_range, slib_data |
||
48 | !set slib_data=!declosing $slib_data |
||
49 | !set slib_range=!declosing $slib_range |
||
50 | slib_datacnt=!rowcnt $slib_data |
||
51 | |||
52 | !for slib_k=1 to $slib_datacnt |
||
53 | slib_col=$(slib_color[1+$(slib_data[$slib_k;7])]) |
||
54 | !if $slib_col!=$empty |
||
55 | !if $slib_k<600 |
||
56 | !set slib_dessin=!append line ftriangle $(slib_data[$slib_k;1..6]),$slib_col to $slib_dessin |
||
57 | !else |
||
58 | !if $slib_k<1200 |
||
59 | !set slib_dessin1=!append line ftriangle $(slib_data[$slib_k;1..6]),$slib_col to $slib_dessin1 |
||
60 | !else |
||
61 | !if $slib_k<2400 |
||
62 | !set slib_dessin2=!append line ftriangle $(slib_data[$slib_k;1..6]),$slib_col to $slib_dessin2 |
||
63 | !else |
||
64 | !set slib_dessin3=!append line $(slib_data[$slib_k;1..6]),$slib_col to $slib_dessin2 |
||
65 | !endif |
||
66 | !endif |
||
67 | !endif |
||
68 | !endif |
||
69 | !next |
||
70 | |||
71 | !set slib_range=$[floor(min($(slib_range[1]),$(slib_range[3])))],$[ceil(max($(slib_range[2]),$(slib_range[4])))] |
||
72 | slib_out=xrange $slib_range\ |
||
73 | yrange $slib_range\ |
||
74 | $slib_dessin\ |
||
75 | $slib_dessin1\ |
||
76 | $slib_dessin2\ |
||
77 | $slib_dessin3 |
||
78 | |||
79 | !if url iswordof $slib_option or html iswordof $slib_option |
||
80 | !set insdraw_size=$slib_size,$slib_size |
||
81 | !insdraw $slib_out |
||
82 | slib_out=$ins_url |
||
83 | !if html iswordof $slib_option |
||
84 | slib_out=<img src="$ins_url" alt=""> |
||
85 | !else |
||
86 | slib_out=$slib_out,$insdraw_size |
||
87 | !endif |
||
88 | !endif |
||
89 |