Subversion Repositories wimsdev

Rev

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