Subversion Repositories wimsdev

Rev

Rev 8584 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 8584 Rev 13594
Line 1... Line 1...
1
!if  $wims_read_parm!=slib_header
1
!if  $wims_read_parm!=slib_header
2
 !goto proc
2
  !goto proc
3
!endif
3
!endif
4
 
4
 
5
slib_author=Georges, Khaznadar
5
slib_author=Georges, Khaznadar
6
 
6
 
7
slib_example= ,,,,,,,,,sin(x),[],0,0,1.2,1.5,2.4,3.2\
7
slib_example= ,,,,,,,,,sin(x),[],0,0,1.2,1.5,2.4,3.2\
Line 16... Line 16...
16
 
16
 
17
slib_parm=!item 1 to 11 of $wims_read_parm
17
slib_parm=!item 1 to 11 of $wims_read_parm
18
!distribute item $slib_parm into slib_xd, slib_yd, slib_xo, slib_yo, slib_xs, slib_ys, slib_bg, slib_lc, slib_dc, slib_f, slib_correct
18
!distribute item $slib_parm into slib_xd, slib_yd, slib_xo, slib_yo, slib_xs, slib_ys, slib_bg, slib_lc, slib_dc, slib_f, slib_correct
19
 
19
 
20
slib_point=!item 12 to -1 of $wims_read_parm
20
slib_point=!item 12 to -1 of $wims_read_parm
21
 
-
 
22
 
21
 
23
!default slib_xd=8
22
!default slib_xd=8
24
!default slib_yd=8
23
!default slib_yd=8
25
!default slib_xo=1
24
!default slib_xo=1
26
!default slib_yo=1
25
!default slib_yo=1
Line 71... Line 70...
71
  !! of 1, 2 or 5.
70
  !! of 1, 2 or 5.
72
  slib_log=$[log10($slib_ys/($slib_yd-$slib_yo))]
71
  slib_log=$[log10($slib_ys/($slib_yd-$slib_yo))]
73
  slib_logint=$[floor($slib_log)]
72
  slib_logint=$[floor($slib_log)]
74
  slib_logmant=$[$slib_log-$slib_logint]
73
  slib_logmant=$[$slib_log-$slib_logint]
75
  !if $slib_logmant > $[log10(5)]
74
  !if $slib_logmant > $[log10(5)]
76
     slib_ys=1e$[$slib_logint+1]
75
    slib_ys=1e$[$slib_logint+1]
77
  !else
76
  !else
78
    !if $slib_logmant > $[log10(2)]
77
    !if $slib_logmant > $[log10(2)]
79
      slib_ys=5e$slib_logint
78
      slib_ys=5e$slib_logint
80
    !else
79
    !else
81
      slib_ys=2e$slib_logint
80
      slib_ys=2e$slib_logint
82
    !endif
81
    !endif
83
  !endif
82
  !endif
84
!else
83
!else
85
  slib_maxy=$empty
84
  slib_maxy=$empty
86
!endif
85
!endif
87
 
86
 
88
slib_dc=!declosing $slib_dc
87
slib_dc=!declosing $slib_dc
89
 
88
 
90
slib_correct=!declosing $slib_correct
89
slib_correct=!declosing $slib_correct
91
slib_point=!declosing $slib_point
90
slib_point=!declosing $slib_point
92
 
91
 
93
slib_bg=!declosing $slib_bg
92
slib_bg=!declosing $slib_bg
94
!default slib_bg=240,233,255
93
!default slib_bg=240,233,255
95
 
94
 
96
slib_lc=!declosing $slib_lc
95
slib_lc=!declosing $slib_lc
97
!default slib_lc=255,220,180
96
!default slib_lc=255,220,180
98
 
97
 
99
slib_dc=!declosing $slib_dc
98
slib_dc=!declosing $slib_dc
100
!default slib_dc=10,10,10
99
!default slib_dc=10,10,10
101
 
100
 
102
!!!!!!!!!!!!!!!!! begin grid !!!!!!!!!!!!!!!!!!!!!!!!!
101
!!!!!!!!!!!!!!!!! begin grid !!!!!!!!!!!!!!!!!!!!!!!!!
103
 
102
 
104
slib_grey=128,128,128
103
slib_grey=128,128,128
105
 
104
 
106
slib_dessin = new 60*$slib_xd,60*$slib_yd\
105
slib_dessin = new 60*$slib_xd,60*$slib_yd\
107
xrange -0.5, 10*$slib_xd-0.5\
106
xrange -0.5, 10*$slib_xd-0.5\
108
yrange -0.5, 10*$slib_yd-0.5\
107
yrange -0.5, 10*$slib_yd-0.5\
109
fill 1,1,$slib_bg
108
fill 1,1,$slib_bg
110
 
109
 
111
!! traits fins tous les millimetres
110
!! traits fins tous les millimetres
112
slib_dessin=$slib_dessin\
111
slib_dessin=$slib_dessin\
113
linewidth 1\
112
linewidth 1\
114
parallel 0, 0, 0, 10*$slib_yd, 1, 0, 10*$slib_xd+1, $slib_lc\
113
parallel 0, 0, 0, 10*$slib_yd, 1, 0, 10*$slib_xd+1, $slib_lc\
115
parallel 0, 0, 10*$slib_xd, 0, 0, 1, 10*$slib_yd+1, $slib_lc
114
parallel 0, 0, 10*$slib_xd, 0, 0, 1, 10*$slib_yd+1, $slib_lc
116
 
115
 
117
!! traits gros tous les centimetres
116
!! traits gros tous les centimetres
118
slib_dessin=$slib_dessin\
117
slib_dessin=$slib_dessin\
119
linewidth 3\
118
linewidth 3\
120
parallel 0, 0, 0, 10*$slib_yd, 10, 0, $slib_xd+1, $slib_lc\
119
parallel 0, 0, 0, 10*$slib_yd, 10, 0, $slib_xd+1, $slib_lc\
121
parallel 0, 0, 10*$slib_xd, 0, 0, 10, $slib_yd+1, $slib_lc
120
parallel 0, 0, 10*$slib_xd, 0, 0, 10, $slib_yd+1, $slib_lc
122
 
121
 
123
!! axe_x
122
!! axe_x
124
slib_dessin=$slib_dessin\
123
slib_dessin=$slib_dessin\
Line 130... Line 129...
130
 
129
 
131
slib_val=$[-$slib_xo*$slib_xs]
130
slib_val=$[-$slib_xo*$slib_xs]
132
slib_dessin=$slib_dessin\
131
slib_dessin=$slib_dessin\
133
linewidth 1
132
linewidth 1
134
!for slib_x from 0 to  10*$slib_xd step 10
133
!for slib_x from 0 to  10*$slib_xd step 10
135
 slib_dessin=$slib_dessin\
134
  slib_dessin=$slib_dessin\
136
 text blue,$[$slib_x+1],$[10*$slib_yo-1],medium,$slib_val
135
    text blue,$[$slib_x+1],$[10*$slib_yo-1],medium,$slib_val
137
 slib_val=$[$slib_val+$slib_xs]
136
  slib_val=$[$slib_val+$slib_xs]
138
!next slib_x
137
!next slib_x
139
!if $slib_labx != $empty
138
!if $slib_labx != $empty
140
  slib_dessin=$slib_dessin\
139
  slib_dessin=$slib_dessin\
141
  text blue,$[$slib_x-20],$[10*$slib_yo-6],medium,$slib_labx
140
    text blue,$[$slib_x-20],$[10*$slib_yo-6],medium,$slib_labx
142
!endif
141
!endif
143
 
142
 
144
!! axe_y
143
!! axe_y
145
slib_dessin=$slib_dessin\
144
slib_dessin=$slib_dessin\
146
linewidth 3\
145
linewidth 3\
Line 151... Line 150...
151
 
150
 
152
slib_val=$[-$slib_yo*$slib_ys]
151
slib_val=$[-$slib_yo*$slib_ys]
153
slib_dessin=$slib_dessin\
152
slib_dessin=$slib_dessin\
154
linewidth 1
153
linewidth 1
155
!for slib_y from 0 to  10*$slib_yd step 10
154
!for slib_y from 0 to  10*$slib_yd step 10
156
 slib_dessin=$slib_dessin\
155
  slib_dessin=$slib_dessin\
157
 text blue,$[10*$slib_xo+1],$[$slib_y-1],medium,$slib_val
156
    text blue,$[10*$slib_xo+1],$[$slib_y-1],medium,$slib_val
158
 slib_val=$[$slib_val+$slib_ys]
157
  slib_val=$[$slib_val+$slib_ys]
159
!next slib_y
158
!next slib_y
160
!if $slib_laby != $empty
159
!if $slib_laby != $empty
161
  slib_dessin=$slib_dessin\
160
  slib_dessin=$slib_dessin\
162
  text blue,$[10*$slib_xo-9],$[$slib_y-10],medium,$slib_laby
161
  text blue,$[10*$slib_xo-9],$[$slib_y-10],medium,$slib_laby
163
!endif
162
!endif
Line 165... Line 164...
165
!!!!!!!!!!!!!!!!! end grid !!!!!!!!!!!!!!!!!!!!!!!!!
164
!!!!!!!!!!!!!!!!! end grid !!!!!!!!!!!!!!!!!!!!!!!!!
166
 
165
 
167
!! red dots : the correct list
166
!! red dots : the correct list
168
n1=!itemcnt $slib_correct
167
n1=!itemcnt $slib_correct
169
!for i from 1 to $n1 step 2
168
!for i from 1 to $n1 step 2
170
!if $i < $n1
169
  !if $i < $n1
171
 slib_x=!item $i of $slib_correct
170
    slib_x=!item $i of $slib_correct
172
 slib_x=$[10*$slib_x/$slib_xs]
171
    slib_x=$[10*$slib_x/$slib_xs]
173
 slib_y=!item $[$i+1] of $slib_correct
172
    slib_y=!item $[$i+1] of $slib_correct
174
 slib_y=$[10*$slib_y/$slib_ys]
173
    slib_y=$[10*$slib_y/$slib_ys]
175
 slib_x1=$[10*$slib_xo+$slib_x-0.6]
174
    slib_x1=$[10*$slib_xo+$slib_x-0.6]
176
 slib_x2=$[10*$slib_xo+$slib_x+0.6]
175
    slib_x2=$[10*$slib_xo+$slib_x+0.6]
177
 slib_y1=$[10*$slib_yo+$slib_y-0.6]
176
    slib_y1=$[10*$slib_yo+$slib_y-0.6]
178
 slib_y2=$[10*$slib_yo+$slib_y+0.6]
177
    slib_y2=$[10*$slib_yo+$slib_y+0.6]
179
 !! add one red dot
178
    !! add one red dot
180
 slib_dessin=$slib_dessin\
179
    slib_dessin=$slib_dessin\
181
 linewidth 2\
180
    linewidth 2\
182
 segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,red\
181
    segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,red\
183
 segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,red
182
    segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,red
184
!endif $i < $n1
183
  !endif $i < $n1
185
!next i
184
!next i
186
 
185
 
187
!! the function : blue thin curve
186
!! the function : blue thin curve
188
slib_n = !itemcnt $slib_f
187
slib_n = !itemcnt $slib_f
189
!if $slib_n = 1
188
!if $slib_n = 1
Line 201... Line 200...
201
plot blue, $slib_f
200
plot blue, $slib_f
202
 
201
 
203
!! black dots
202
!! black dots
204
n2=!itemcnt $slib_point
203
n2=!itemcnt $slib_point
205
!for i from 1 to $n2 step 2
204
!for i from 1 to $n2 step 2
206
!if $i < $n2
205
  !if $i < $n2
207
 slib_x=!item $i of $slib_point
206
    slib_x=!item $i of $slib_point
208
 slib_x=$[10*$slib_x/$slib_xs]
207
    slib_x=$[10*$slib_x/$slib_xs]
209
 slib_y=!item $[$i+1] of $slib_point
208
    slib_y=!item $[$i+1] of $slib_point
210
 slib_y=$[10*$slib_y/$slib_ys]
209
    slib_y=$[10*$slib_y/$slib_ys]
211
 slib_x1=$[10*$slib_xo+$slib_x-0.6]
210
    slib_x1=$[10*$slib_xo+$slib_x-0.6]
212
 slib_x2=$[10*$slib_xo+$slib_x+0.6]
211
    slib_x2=$[10*$slib_xo+$slib_x+0.6]
213
 slib_y1=$[10*$slib_yo+$slib_y-0.6]
212
    slib_y1=$[10*$slib_yo+$slib_y-0.6]
214
 slib_y2=$[10*$slib_yo+$slib_y+0.6]
213
    slib_y2=$[10*$slib_yo+$slib_y+0.6]
215
 !! add one '$slib_dc' dot
214
    !! add one '$slib_dc' dot
216
 slib_dessin=$slib_dessin\
215
    slib_dessin=$slib_dessin\
217
 linewidth 2\
216
    linewidth 2\
218
 segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,$slib_dc\
217
    segment $slib_x1,$slib_y1,$slib_x2,$slib_y2,$slib_dc\
219
 segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,$slib_dc
218
    segment $slib_x2,$slib_y1,$slib_x1,$slib_y2,$slib_dc
220
!endif $i < $n2
219
  !endif $i < $n2
221
!next i
220
!next i
222
 
221
 
223
slib_out= $slib_dessin
222
slib_out= $slib_dessin