Find distance between the closest 3D points
R, 34 bytes
function(...)min(dist(rbind(...)))
Try it online!
This is a nice opportunity to use R's ...
syntax to define a function that can accept a variable number of arguments; in this case, the x,y,z
coordinates of each point.
The dist
function calculates the pairwise distance between all rows of a matrix, using a chosen method - luckily, the default is 'euclidean' and so isn't specified in this case.
Of course, it could be even shorter if we allow the input to already be combined-together as a matrix, but this wouldn't be so neat...
R, 23 bytes
function(m)min(dist(m))
Try it online!
Wolfram Language (Mathematica), 33 bytes
Min[Norm[#-#2]&@@@#~Subsets~{2}]&
Try it online!
Python 3, 106 95 93 bytes
Saved 11 bytes thanks to fireflame241!!!
Saved 2 bytes thanks to Jonathan Allan!!!
lambda l:min(sum((a-b)**2for a,b in zip(l[p],v))**.5for q,v in enumerate(l)for p in range(q))
Try it online!
Inputs a list of points as tuples and returns the Euclidean distance between the two closest points.
Works with points of any dimension so long as they are consistent within the list.