<?
$c = array (
array(44368,107440,-2032),
array(46080,108968,-2032),
array(44400,110644,-2032),
array(42988,109652,-2032),
array(43004,108928,-2032)
);
function isInTriangle($xa,$ya,$xb,$yb,$xc,$yc,$xd,$yd) {
$delta_ab=($xa-$xb)^2+($ya-$yb)^2;
$delta_ac=($xa-$xc)^2+($ya-$yc)^2;
$delta_bc=($xb-$xc)^2+($yb-$yc)^2;
$delta_ad=($xa-$xd)^2+($ya-$yd)^2;
$delta_bd=($xb-$xd)^2+($yb-$yd)^2;
$delta_cd=($xc-$xd)^2+($yc-$yd)^2;
if ($delta_ac+$delta_bc<$delta_ad+$delta_bd) return 0;
if ($delta_bc+$delta_ab<$delta_ad+$delta_cd) return 0;
if ($delta_ab+$delta_ac<$delta_bd+$delta_cd) return 0;
return 1;
}
$i=0; $j=0;
//x from min X to max X
for ($x=42988; $x<46080; $x=$x+200) {
//y from min Y to max Y
for ($y=107440; $y<110644; $y=$y+200) {
$j=$j+1;
if (isInTriangle($c[0][0],$c[0][1],
$c[1][0],$c[1][1],
$c[2][0],$c[2][1],
$x,$y) == 1 or
isInTriangle($c[0][0],$c[0][1],
$c[2][0],$c[2][1],
$c[3][0],$c[3][1],
$x,$y) == 1 or
isInTriangle($c[0][0],$c[0][1],
$c[3][0],$c[3][1],
$c[4][0],$c[4][1],
$x,$y) == 1) {
echo "valid coords: $x,$y,".$c[0][2]."\n";
$i=$i+1;
};
};
};
echo "$i $j";
?>