Subversion Repositories wimsdev

Rev

Rev 17173 | Rev 17963 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 17173 Rev 17954
Line 2... Line 2...
2
  !goto proc
2
  !goto proc
3
!endif
3
!endif
4
 
4
 
5
slib_author=Bernadette, Perrin-Riou
5
slib_author=Bernadette, Perrin-Riou
6
 
6
 
7
slib_example= [0,0,0;0,0,1;0,1,0],[blue,yellow], [A,B,C],2\
7
slib_example= [0,0,0;0,0,1;0,1,0],[blue,red], [A,B,C],2\
8
 [0,0,0;0,0,1;0,1,0],[blue,yellow], [A,B,C],2,html\
8
 [0,0,0;0,0,1;0,1,0],[blue,red], [A,B,C],2,html\
9
 [0,0,0;0,0,1;0,1,0],[blue,yellow], [A,B,C],1,2,html
9
 [0,0,0;0,0,1;0,1,0],[blue,red], [A,B,C],1,2,html
10
slib_require=pari
10
slib_require=pari
11
!exit
11
!exit
12
 
12
 
13
:proc
13
:proc
14
 
14
 
Line 29... Line 29...
29
 
29
 
30
slib_point=!declosing $slib_point
30
slib_point=!declosing $slib_point
31
slib_color=!declosing $slib_color
31
slib_color=!declosing $slib_color
32
!default slib_color=blue,red,green, magenta, brown, purple,gold
32
!default slib_color=blue,red,green, magenta, brown, purple,gold
33
!distribute items $slib_color into slib_color1, slib_color2, slib_color3, slib_color4, slib_color5, slib_color6,slib_color7
33
!distribute items $slib_color into slib_color1, slib_color2, slib_color3, slib_color4, slib_color5, slib_color6,slib_color7
-
 
34
!for slib_i in $slib_point
-
 
35
  !reset slib_segments$slib_i
34
 
36
!next
35
slib_or=!exec pari Mat([$slib_HH])==Mat([$slib_HH])~
37
slib_or=!exec pari Mat([$slib_HH])==Mat([$slib_HH])~
36
slib_names=!declosing $slib_names
38
slib_names=!declosing $slib_names
37
slib_n=!line 1 of $slib_H
39
slib_n=!line 1 of $slib_H
38
slib_n=!itemcnt $slib_n
40
slib_n=!itemcnt $slib_n
39
!default slib_names=!values slib_i for slib_i=1 to $slib_n
41
!default slib_names=!values slib_i for slib_i=1 to $slib_n
Line 42... Line 44...
42
slib_liste =
44
slib_liste =
43
slib_cnt = 0
45
slib_cnt = 0
44
slib_matrix=
46
slib_matrix=
45
slib_out=
47
slib_out=
46
!for slib_i in $slib_point
48
!for slib_i in $slib_point
47
  !if $slib_i notin $slib_liste
49
  !if $slib_i notin $slib_liste
48
    !read slib/graph/connexcomponent [$slib_HH], $slib_i
50
    !read slib/graph/connexcomponent [$slib_HH], $slib_i
49
    slib_liste = !append item $slib_out to $slib_liste
51
    slib_liste = !append item $slib_out to $slib_liste
50
    slib_matrix = !append line $slib_out to $slib_matrix
52
    slib_matrix = !append line $slib_out to $slib_matrix
51
    !advance slib_cnt
53
    !advance slib_cnt
52
    slib_out=
54
    slib_out=
53
  !endif
55
  !endif
54
!next slib_i
56
!next slib_i
55
slib_point2 = !listcomplement of $slib_liste in $slib_vertex
57
slib_point2 = !listcomplement of $slib_liste in $slib_vertex
Line 69... Line 71...
69
  slib_color$slib_i= !declosing $(slib_color$slib_i)
71
  slib_color$slib_i= !declosing $(slib_color$slib_i)
70
  slib_h=!line $slib_i of $slib_matrix
72
  slib_h=!line $slib_i of $slib_matrix
71
  !for slib_k in $slib_h
73
  !for slib_k in $slib_h
72
    slib_name =!item $slib_k of $slib_names
74
    slib_name =!item $slib_k of $slib_names
73
    slib_dessin=$slib_dessin\
75
    slib_dessin=$slib_dessin\
74
      disk cos(2*pi*$slib_k/$slib_n ),sin(2*pi*$slib_k/$slib_n ), 6,$(slib_color$slib_i)\
76
disk cos(2*pi*$slib_k/$slib_n ),sin(2*pi*$slib_k/$slib_n ), 6,$(slib_color$slib_i)\
75
      text black, 1.3*cos(2*pi*$slib_k/$slib_n ),1.3*sin(2*pi*$slib_k/$slib_n ), medium ,$slib_name
77
text black, 1.3*cos(2*pi*$slib_k/$slib_n ),1.3*sin(2*pi*$slib_k/$slib_n ), medium ,$slib_name
76
    slib_r=!line $slib_k of $slib_H
78
    slib_r=!line $slib_k of $slib_H
77
    !if $slib_or=1
79
    !if $slib_or=1
78
      !for slib_j   in $slib_h
80
      !for slib_j   in $slib_h
79
        slib_u=!item $slib_j of $slib_r
81
        slib_u=!item $slib_j of $slib_r
80
        !if $slib_u=1
82
        !if $slib_u=1
81
          !if $slib_k<>$slib_j
83
          !if $slib_k<>$slib_j
82
            slib_dessin=$slib_dessin\
-
 
83
segment cos(2*pi*$slib_k/$slib_n),sin(2*pi*$slib_k/$slib_n), cos(2*pi*$slib_j/$slib_n ),sin(2*pi*$slib_j/$slib_n ),$(slib_color$slib_i)
84
            slib_segments$slib_i=!append item cos(2*pi*$slib_k/$slib_n),sin(2*pi*$slib_k/$slib_n), cos(2*pi*$slib_j/$slib_n ),sin(2*pi*$slib_j/$slib_n) to $(slib_segments$slib_i)
84
          !else
85
          !else
85
            slib_dessin=$slib_dessin\
86
            slib_dessin=$slib_dessin\
86
ellipse cos(2*pi*$slib_i/$slib_n )*1.25,sin(2*pi*$slib_i/$slib_n )*1.25, 0.5,0.5,$(slib_color$slib_i)
87
ellipse cos(2*pi*$slib_i/$slib_n )*1.25,sin(2*pi*$slib_i/$slib_n )*1.25, 0.5,0.5,$(slib_color$slib_i)
87
          !endif
88
          !endif
88
        !endif
89
        !endif
89
      !next slib_j
90
      !next slib_j
90
    !else
91
    !else
91
      !for slib_j=1 to $slib_n
92
      !for slib_j=1 to $slib_n
92
        slib_r=!line $slib_k of $slib_H
93
        slib_r=!line $slib_k of $slib_H
93
        slib_u=!item $slib_j of $slib_r
94
        slib_u=!item $slib_j of $slib_r
94
        !if $slib_u=1
95
        !if $slib_u=1
95
          !if $slib_k<>$slib_j
96
          !if $slib_k<>$slib_j
96
            slib_dessin=$slib_dessin\
97
            slib_dessin=$slib_dessin\
97
arrow $[cos(2*pi*$slib_k/$slib_n )],$[sin(2*pi*$slib_k/$slib_n)], $[(cos(2*pi*$slib_k/$slib_n )-cos(2*pi*$slib_j/$slib_n ))/2+cos(2*pi*$slib_j/$slib_n )],$[(sin(2*pi*$slib_k/$slib_n )-sin(2*pi*$slib_j/$slib_n ))/2+sin(2*pi*$slib_j/$slib_n )],10,$(slib_color$slib_i)\
98
arrow $[cos(2*pi*$slib_k/$slib_n )],$[sin(2*pi*$slib_k/$slib_n)], $[(cos(2*pi*$slib_k/$slib_n )-cos(2*pi*$slib_j/$slib_n ))/2+cos(2*pi*$slib_j/$slib_n )],$[(sin(2*pi*$slib_k/$slib_n )-sin(2*pi*$slib_j/$slib_n ))/2+sin(2*pi*$slib_j/$slib_n )],10,$(slib_color$slib_i)
98
segment cos(2*pi*$slib_k/$slib_n ),sin(2*pi*$slib_k/$slib_n ),cos(2*pi*$slib_j/$slib_n ),sin(2*pi*$slib_j/$slib_n ),$(slib_color$slib_i)
99
            slib_segments$slib_i=!append item cos(2*pi*$slib_k/$slib_n ),sin(2*pi*$slib_k/$slib_n ),cos(2*pi*$slib_j/$slib_n ),sin(2*pi*$slib_j/$slib_n ) to $(slib_segments$slib_i)
99
          !else
100
          !else
100
            slib_dessin=$slib_dessin\
101
            slib_dessin=$slib_dessin\
101
ellipse cos(2*pi*$slib_k/$slib_n )*1.25,sin(2*pi*$slib_k/$slib_n )*1.25, 0.5,0.5,$(slib_color$slib_i)
102
ellipse cos(2*pi*$slib_k/$slib_n )*1.25,sin(2*pi*$slib_k/$slib_n )*1.25, 0.5,0.5,$(slib_color$slib_i)
102
          !endif
103
          !endif
103
        !endif
104
        !endif
104
      !next slib_j
105
      !next slib_j
105
    !endif
106
    !endif
106
  !next slib_k
107
  !next slib_k
-
 
108
  !if $(slib_segments$slib_i)!=
-
 
109
    slib_dessin=$slib_dessin\
-
 
110
segments $(slib_color$slib_i), $(slib_segments$slib_i)
-
 
111
  !endif
107
!next slib_i
112
!next slib_i
108
 
113
 
109
slib_out= $slib_dessin
114
slib_out=$slib_dessin
110
 
115
 
111
!if url iswordof $slib_option or html iswordof $slib_option
116
!if url iswordof $slib_option or html iswordof $slib_option
112
  insdraw_size=250,250
117
  insdraw_size=250,250
113
  !insdraw $slib_out
118
  !insdraw $slib_out
114
  slib_out=$ins_url
119
  slib_out=$ins_url