my ($hij, $highest, $hv, $xclock, $right, $negx); my @backwards; # MAKE CLOCKWISE ************************************* CLK: for $i (0..$#blocks) { $highest = 0; for $j (0..$#{$blocks[$i]}) { if ($blocks[$i][$j][2] > $highest) { $highest = $blocks[$i][$j][2]; $hv = $j; $right = $blocks[$i][$j][1]; } } print "high [$i][$hv] $highest\n"; for $hij (0..$#{$blocks[$i]}) { if ($blocks[$i][$hij][2] == $highest) { if ($blocks[$i][$hij][1] > $right) { $right = $blocks[$i][$hij][1]; $hv = $hij; } } } $xclock = $blocks[$i][$hv + 1][1] - $blocks[$i][$hv - 1][1]; $negx = $blocks[$i][$hv][1] - $blocks[$i][$hv - 1]; if ($hv == $#{$blocks[$i]}) { $xclock = $blocks[$i][0][1] - $blocks[$i][$hv - 1][1]; } if ($hv == 0) { $xclock = $blocks[$i][$hv + 1][1] - $blocks[$i][$#{$blocks[$i]}][1]; } print "xclock $xclock block[$i] vertex[$hv]\n"; print "negx $negx\n"; if ($xclock < 0) { @backwards = reverse @{$blocks[$i]}; @{$blocks[$i]} = @backwards; print "reverse\n"; next CLK; } }