Rev 3266 | Rev 4349 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
!if $wims_read_parm!=slib_header
!goto proc
!endif
slib_author=Bernadette Perrin-Riou
slib_require=pari
!exit
:proc
slib_color=
slib_texte=$wims_read_parm
slib_cnt=!charcnt $slib_texte
slib_N=$[(round(sqrt($slib_cnt))+1)^2]
slib_init=0
slib_c1=0
slib_c2=1
slib_c3=1
slib_size=$[round(sqrt($slib_N)/2)+2]
slib_size=-$slib_size,$slib_size
slib_Size=400,400
slib_dessin=xrange $slib_size\
yrange $slib_size\
linewidth 4
slib_deplac=1,0;0,1;-1,0;0,-1
slib_point=0,0
slib_dessin=$slib_dessin\
text black,$slib_point,giant,
slib_Point=$slib_point
!for slib_k=1+$slib_init to $slib_N+$slib_init
slib_tr=$(slib_deplac[$slib_c1+1;])
slib_point = !exec pari [$slib_point] + [$slib_tr]
slib_Point=$slib_Point\
$slib_point
slib_l=!char $slib_k of $slib_texte
slib_dessin=$slib_dessin\
text black, $slib_point, giant,$slib_l
!if $slib_c3=$slib_c2
!if $slib_c1%2!=0
slib_c2=$[$slib_c2+1]
!endif
slib_c1=$[($slib_c1+1)%4]
slib_c3=1
!else
slib_c3=$[$slib_c3+1]
!endif
!next
slib_out=$slib_dessin