Subversion Repositories wimsdev

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
16886 bpr 1
!if $wims_read_parm!=slib_header
2
  !goto proc
3
!endif
4
slib_title=Dessin d'un patron aléatoire du polyèdre
5
slib_author=Bernadette, Perrin-Riou
6
slib_parms=2\
7
,nom d'un polyèdre (en anglais)\
8
size=200,option as words: size=(vertical size) keywords:vertex_legend face_legend  color=[;number:color;number:color2;...]
9
 
10
slib_out=dessin en canvasdraw
11
slib_comment=Preliminary version (syntaxe can change)
12
!!rajouter option couleur face et sommet ? size ?
13
slib_example=cube,size=300 vertex_legend face_legend\
14
cube\
15
dodecahedron,size=500 vertex_legend face_legend color=[red]\
16
enneagonal_antiprism_dual,size=400 color=[blue;5,red;7,yellow]\
17
j09_elongated_pentagonal_pyramid,size=300\
18
j45_gyroelongated_square_bicupola,size=500
19
 
20
!exit
21
 
22
:proc
23
!reset slib_xyz slib_sfa slib_ff slib_size
24
 
25
!distribute items $wims_read_parm into slib_polname,slib_option,slib_color
26
!set wims_multiexec=$wims_multiexec pari
27
!set slib_size=!getopt size in $slib_option
28
!default slib_size=200
29
!set slib_color=!getopt color in $slib_option
30
!set slib_color=$(slib_color[1;])
31
!default slib_color=black
32
slib_pol=!record 0 of data/polyedre_off/$(slib_polname).off
33
 
34
slib_sfa=!line 3 of $slib_pol
35
slib_somcnt=!word 1 of $slib_sfa
36
slib_facecnt=!word 2 of $slib_sfa
37
slib_sfa=!wordstoitems $slib_sfa
38
slib_xyz_=!line 4 to $slib_somcnt+3 of $slib_pol
39
!for slib_j=1 to $slib_somcnt
40
  slib_tmp=!row $slib_j of $slib_xyz_
41
  slib_tmp=!words2items $slib_tmp
42
  slib_xyz=!append semicolon $slib_tmp to $slib_xyz
43
!next
44
slib_ff_=!line $[$slib_somcnt+4] to $[$slib_somcnt+5+$slib_facecnt] of $slib_pol
45
!for slib_j=1 to $slib_facecnt
46
  slib_tmp=!row $slib_j of $slib_ff_
47
  slib_tmp=!words2items $slib_tmp
48
  slib_ff=!append item [$slib_tmp] to $slib_ff
49
!next
50
!if $slib_header_patron=
51
  !readproc gp/arbres_couvrants.gp
52
  slib_pr=!exec pari $slib_header_patron
53
!endif
54
slib_pr=!exec pari xyz=[$slib_xyz];ff=[$slib_ff]
55
 
56
slib_patron=!exec pari m=adjacence(ff); f2=projection_standard(ff,xyz);couv=arbre_couvrant_aleatoire(m); W=etale(couv,ff,f2,matsize(xyz)[1])
57
slib_pat=!exec pari print(couv)
58
!!!set slib_seed=1
59
!!!set slib_patron=!exec pari m=adjacence(ff); f2=projection_standard(ff,xyz);couv=arbres_couvrants(m,$slib_seed);W=etale(couv,ff,f2,matsize(xyz)[1])
60
slib_W1=!exec pari W[1]
61
slib_W2=!exec pari W[2]
62
slib_W2_=
63
!if face_legend iswordof $slib_option
64
  !for slib_j=1 to $slib_facecnt
65
    !set slib_tmp=!declosing $(slib_W2[$slib_j])
66
    !set slib_W2_=!append item [$slib_tmp,$slib_j] to $slib_W2_
67
  !next
68
  slib_W2=$slib_W2_
69
!endif
70
!readproc slib/geo2D/offdraw [$slib_W1],[$slib_W2], $slib_option
71
$slib_out