Re: Distance from point to set
- To: mathgroup at smc.vnet.net
- Subject: [mg55329] Re: [mg55273] Distance from point to set
- From: Andrzej Kozlowski <akoz at mimuw.edu.pl>
- Date: Sat, 19 Mar 2005 04:45:50 -0500 (EST)
- References: <200503181033.FAA14616@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
On 18 Mar 2005, at 11:33, Piotr Kowalski wrote: > Hello, > > I would like to compute distance d(x,A) from a point 'x' to a set 'A', > (all in R^n, where n=2 or n=3) that is: > > d(x,A) = min ||x - a|| (forall a in A) > where: n=2 or n=3, > x is point in R^n, A is subset of R^n > || || is norm (euclidean, max, etc). > > Can I find Mathematica function or package for such problem ? > > Thank you in advance, > P. Kowalski > If you have Mathematica 5 or above you can use simply: dist[p_, l_, n_:2] := Min[Norm[#, n] & /@ Transpose[Transpose[l] - p]] For example, let In[2]:= p = {x, y}; l = {{a, b}, {c, d}}; then In[3]:= dist[p, l] Out[3]= Min[Sqrt[Abs[a - x]^2 + Abs[b - y]^2], Sqrt[Abs[c - x]^2 + Abs[d - y]^2]] In[4]:= dist[p, l, 4] Out[4]= Min[(Abs[a - x]^4 + Abs[b - y]^4)^(1/4), (Abs[c - x]^4 + Abs[d - y]^4)^(1/4)] In[5]:= dist[p, l, Infinity] Out[5]= Min[Max[Abs[a - x], Abs[b - y]], Max[Abs[c - x], Abs[d - y]]] Andrzej Kozlowski Chiba, Japan http://www.akikoz.net/andrzej/index.html http://www.mimuw.edu.pl/~akoz/
- References:
- Distance from point to set
- From: Piotr Kowalski <pkowalsk@ibspan.waw.pl>
- Distance from point to set