diff --git a/mathutil/mathutil.go b/mathutil/mathutil.go index 5e20597..8642a36 100644 --- a/mathutil/mathutil.go +++ b/mathutil/mathutil.go @@ -230,3 +230,13 @@ func RadianToAngle(radian float64) float64 { angle := radian * (180 / math.Pi) return angle } + +// PointDistance get two points distance. +// Play: todo +func PointDistance(x1, y1, x2, y2 float64) float64 { + a := x1 - x2 + b := y1 - y2 + c := math.Pow(a, 2) + math.Pow(b, 2) + + return math.Sqrt(c) +} diff --git a/mathutil/mathutil_exmaple_test.go b/mathutil/mathutil_exmaple_test.go index a44d48a..c860d12 100644 --- a/mathutil/mathutil_exmaple_test.go +++ b/mathutil/mathutil_exmaple_test.go @@ -254,3 +254,12 @@ func ExampleRadianToAngle() { // 90 // 45 } + +func ExamplePointDistance() { + result1 := PointDistance(1, 1, 4, 5) + + fmt.Println(result1) + + // Output: + // 5 +} diff --git a/mathutil/mathutil_test.go b/mathutil/mathutil_test.go index 1f713e0..a7e033a 100644 --- a/mathutil/mathutil_test.go +++ b/mathutil/mathutil_test.go @@ -192,3 +192,11 @@ func TestRadianToAngle(t *testing.T) { assert.Equal(float64(90), result2) assert.Equal(float64(45), result3) } + +func TestPointDistance(t *testing.T) { + assert := internal.NewAssert(t, "TestPointDistance") + + result1 := PointDistance(1, 1, 4, 5) + + assert.Equal(float64(5), result1) +}