예제 #1
0
 public function compute(Node $a, Node $b)
 {
     $f = sqrt(2) - 1;
     $dx = abs($a->getX() - $b->getX());
     $dy = abs($a->getY() - $b->getY());
     return $dx < $dy ? $f * $dx + $dy : $f * $dy + $dx;
 }
예제 #2
0
 public function compute(Node $a, Node $b)
 {
     $dx = abs($a->getX() - $b->getX());
     $dy = abs($a->getY() - $b->getY());
     return max($dx, $dy);
 }
예제 #3
0
 public function compute(Node $a, Node $b)
 {
     $dx = abs($a->getX() - $b->getX());
     $dy = abs($a->getY() - $b->getY());
     return sqrt($dx * $dx + $dy * $dy);
 }