A distance function or metric, \(d(x, y)\), must satisfy four criteria.
The result is always positive. \(d(x, y) \geq 0\)
The order doesn't matter. \(d(x, y) = d(y, x)\)
If the distance is zero, then \(x\) must be equal to \(y\). If \(d(x, y) = 0\), then \(x = y\).
The triangle inequality holds. \(d(a, b) + d(b, c) \geq d(a, c)\)
struct Point{T}
x::T
y::T
z::T
end
function cartesiandistance(p1::Point, p2::Point)
sqrt((p1.x - p2.x)^2 + (p1.y - p2.y)^2 + (p1.z - p2.z)^2)
end
p1 = Point(5, -2, 3)
p2 = Point(-1, 0, 2)
@show cartesiandistance(p1, p2)
> cartesiandistance(p1, p2) = 6.4031242374328485