@@ -65,8 +65,10 @@ discard block |
||
65 | 65 | $bords = array_fill(0, $bord_lenght, array()); // building this array |
66 | 66 | |
67 | 67 | /* adding the first point of the polygone */ |
68 | - if (is_array($bords[$poly[0]['y']])) //avoid warning |
|
68 | + if (is_array($bords[$poly[0]['y']])) { |
|
69 | + //avoid warning |
|
69 | 70 | array_push($bords[$poly[0]['y']], $poly[0]['x']); |
71 | + } |
|
70 | 72 | |
71 | 73 | $i = 1; // we re-use $i and $old_pente bellow the loop |
72 | 74 | $old_pente=0; |
@@ -75,11 +77,14 @@ discard block |
||
75 | 77 | |
76 | 78 | /* special cases */ |
77 | 79 | if ($poly[$i-1]['y'] == $poly[$i]['y']) { |
78 | - if ($poly[$i-1]['x'] == $poly[$i]['x']) |
|
79 | - continue; // twice the same point |
|
80 | + if ($poly[$i-1]['x'] == $poly[$i]['x']) { |
|
81 | + continue; |
|
82 | + } |
|
83 | + // twice the same point |
|
80 | 84 | else { // infinite elevation of the edge |
81 | - if (is_array($bords[$poly[$i]['y']])) |
|
82 | - array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
85 | + if (is_array($bords[$poly[$i]['y']])) { |
|
86 | + array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
|
87 | + } |
|
83 | 88 | $old_pente=0; |
84 | 89 | continue; |
85 | 90 | } |
@@ -87,9 +92,13 @@ discard block |
||
87 | 92 | |
88 | 93 | //echo 'point:'.$poly[$i]['y']; bug here |
89 | 94 | // adding the point as a part of an edge |
90 | - if (is_array($bords[$poly[$i]['y']])) //avoid warning |
|
95 | + if (is_array($bords[$poly[$i]['y']])) { |
|
96 | + //avoid warning |
|
91 | 97 | array_push($bords[$poly[$i]['y']], $poly[$i]['x']); |
92 | - if (DEBUG) echo '('.$poly[$i]['x'].';'.$poly[$i]['y'].') '; |
|
98 | + } |
|
99 | + if (DEBUG) { |
|
100 | + echo '('.$poly[$i]['x'].';'.$poly[$i]['y'].') '; |
|
101 | + } |
|
93 | 102 | |
94 | 103 | /* computing the elevation of the edge going */ |
95 | 104 | // from $poly[$i-1] to $poly[$i] |
@@ -99,15 +108,17 @@ discard block |
||
99 | 108 | // if the sign of the elevation change from the one of the |
100 | 109 | // previous edge, the point must be added a second time inside |
101 | 110 | // $bords |
102 | - if ($i>1) |
|
103 | - if (($old_pente<0 && $pente>0) |
|
111 | + if ($i>1) { |
|
112 | + if (($old_pente<0 && $pente>0) |
|
104 | 113 | || ($old_pente>0 && $pente<0)) { |
105 | 114 | if (is_array($bords[$poly[$i]['y']])) //avoid warning |
106 | 115 | array_push($bords[$poly[$i]['y']],$poly[$i]['x']); |
116 | + } |
|
107 | 117 | |
108 | - if (DEBUG) |
|
109 | - echo '*('.$poly[$i]['x']. |
|
118 | + if (DEBUG) { |
|
119 | + echo '*('.$poly[$i]['x']. |
|
110 | 120 | ';'.$poly[$i]['y'].') '; |
121 | + } |
|
111 | 122 | } |
112 | 123 | |
113 | 124 | /* detect the direction of the elevation in Y */ |
@@ -136,10 +147,11 @@ discard block |
||
136 | 147 | |
137 | 148 | // elevation between $poly[0]['x'] and $poly[1]['x']) |
138 | 149 | $rest = $poly[0]['y']-$poly[1]['y']; |
139 | - if ($rest!=0) |
|
140 | - $pente1 = ($poly[0]['x']-$poly[1]['x'])/($rest); |
|
141 | - else |
|
142 | - $pente1 = 0; |
|
150 | + if ($rest!=0) { |
|
151 | + $pente1 = ($poly[0]['x']-$poly[1]['x'])/($rest); |
|
152 | + } else { |
|
153 | + $pente1 = 0; |
|
154 | + } |
|
143 | 155 | |
144 | 156 | // elevation between $poly[$i-1]['x'] and $poly[0]['x']) |
145 | 157 | $pente = ($poly[$i-1]['x']-$poly[0]['x'])/ |
@@ -151,14 +163,17 @@ discard block |
||
151 | 163 | |
152 | 164 | // doubling the first point if needed (see above) |
153 | 165 | if (($pente1<0 && $pente>0) || ($pente1>0 && $pente<0)) { |
154 | - if (is_array($bords[$poly[$i - 1]['y']])) |
|
155 | - array_push($bords[$poly[$i - 1]['y']], round($poly[$i - 1]['x'])); |
|
166 | + if (is_array($bords[$poly[$i - 1]['y']])) { |
|
167 | + array_push($bords[$poly[$i - 1]['y']], round($poly[$i - 1]['x'])); |
|
168 | + } |
|
156 | 169 | //if (DEBUG) echo '('.$poly[$i-1]['x'].';'.$poly[$i-1]['y'].') '; |
157 | 170 | } |
158 | 171 | // doubling the last point if neededd |
159 | 172 | if (($old_pente<0 && $pente>0) || ($old_pente>0 && $pente<0)) { |
160 | - if (is_array($bords[$poly[$i-1]['y']])) //avoid warning |
|
173 | + if (is_array($bords[$poly[$i-1]['y']])) { |
|
174 | + //avoid warning |
|
161 | 175 | array_push($bords[$poly[$i-1]['y']], round($poly[$i-1]['x'])); |
176 | + } |
|
162 | 177 | //if (DEBUG) echo '*('.$poly[$i-1]['x'].';'.$poly[$i-1]['y'].') '; |
163 | 178 | } |
164 | 179 | |
@@ -227,11 +242,13 @@ discard block |
||
227 | 242 | $s = "<div style='font-size: 8px; line-height:3px'><pre>\n"; |
228 | 243 | } |
229 | 244 | for ($i=0; $i<$max['y']; $i++) { |
230 | - for($j=0; $j<$max['x']; $j++) |
|
231 | - if($poly[$j][$i] == TRUE) |
|
245 | + for($j=0; $j<$max['x']; $j++) { |
|
246 | + if($poly[$j][$i] == TRUE) |
|
232 | 247 | $s .= ($format=='html'?"<b>1</b>":'1'); |
233 | - else |
|
234 | - $s .= "0"; |
|
248 | + } |
|
249 | + else { |
|
250 | + $s .= "0"; |
|
251 | + } |
|
235 | 252 | $s .= ($format=='html'?"<br />\n":"\n"); |
236 | 253 | } |
237 | 254 | $s .= ($format=='html'?"</pre></div>\n":"\n"); |
@@ -252,15 +269,19 @@ discard block |
||
252 | 269 | $surfaceOf1 = 0; |
253 | 270 | $surfaceOf2 = 0; |
254 | 271 | |
255 | - for ($i=0; $i<$max['x']; $i++) |
|
256 | - for($j=0; $j<$max['y']; $j++) { |
|
272 | + for ($i=0; $i<$max['x']; $i++) { |
|
273 | + for($j=0; |
|
274 | + } |
|
275 | + $j<$max['y']; $j++) { |
|
257 | 276 | if (isset($poly1[$i][$j]) && ($poly1[$i][$j] == TRUE)) { |
258 | 277 | $surfaceOf1++; |
259 | - if (isset($poly2[$i][$j]) && ($poly2[$i][$j] == FALSE)) |
|
260 | - $onlyIn1++; |
|
278 | + if (isset($poly2[$i][$j]) && ($poly2[$i][$j] == FALSE)) { |
|
279 | + $onlyIn1++; |
|
280 | + } |
|
281 | + } |
|
282 | + if (isset($poly2[$i][$j]) && ($poly2[$i][$j] == TRUE)) { |
|
283 | + $surfaceOf2++; |
|
261 | 284 | } |
262 | - if (isset($poly2[$i][$j]) && ($poly2[$i][$j] == TRUE)) |
|
263 | - $surfaceOf2++; |
|
264 | 285 | } |
265 | 286 | |
266 | 287 | return array ( |