diff --git a/System/Snowflake.php b/System/Snowflake.php index cd19b3fc..5fa15562 100644 --- a/System/Snowflake.php +++ b/System/Snowflake.php @@ -287,6 +287,30 @@ class Snowflake } + /** + * @param $v1 + * @param $v2 + * @return float + */ + public static function distance(array $v1, array $v2): float + { + $maxX = max($v1['x'], $v2['x']); + $minX = min($v1['x'], $v2['x']); + + $maxZ = max($v1['z'], $v2['z']); + $minZ = min($v1['z'], $v2['z']); + + $dx = abs($maxX - $minX); + $dy = abs($maxZ - $minZ); + + $sqrt = sqrt($dx * $dx + $dy * $dy); + if ($sqrt < 0) { + $sqrt = abs($sqrt); + } + return (float)$sqrt; + } + + /** * @param $process */