Subversion Repositories wimsdev

Rev

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