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 |
|
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 |