All pastes #92284 Raw Edit

Untitled

public text v1 · immutable
#92284 ·published 2006-07-19 12:39 UTC
rendered paste body
<?
#c = array (
#   array(44368,107440,-2032),
#   array(46080,108968,-2032),
#   array(44400,110644,-2032),
#   array(42988,109652,-2032),
#   array(43004,108928,-2032)
#);
$c = array (
    array(150694,114119,-5519),
    array(151755,114876,-5519),
    array(151878,115383,-5519),
    array(151158,115993,-5519),
    array(150340,116049,-5519),
    array(149924,115430,-5519),
    array(149834,114597,-5519),
    array(150161,114144,-5519)
);

 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=149834; $x<151878; $x=$x+200) {
        //y from min Y to max Y
        for ($y=114119; $y<116049; $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 or
                isInTriangle($c[0][0],$c[0][1],
                             $c[4][0],$c[4][1],
                             $c[5][0],$c[5][1],
                             $x,$y) == 1 or
                isInTriangle($c[0][0],$c[0][1],
                             $c[5][0],$c[5][1],
                             $c[6][0],$c[6][1],
                             $x,$y) == 1 or
                isInTriangle($c[0][0],$c[0][1],
                             $c[6][0],$c[6][1],
                             $c[7][0],$c[7][1],
                             $x,$y) == 1
                )
                {

                echo "valid coords: $x,$y,".$c[0][2]."\n";
                $i=$i+1;
            };
        };
    };
echo "$i   $j";
?>