Re: Distance from point to set
- To: mathgroup at smc.vnet.net
- Subject: [mg55313] Re: [mg55273] Distance from point to set
- From: Bob Hanlon <hanlonr at cox.net>
- Date: Sat, 19 Mar 2005 04:45:14 -0500 (EST)
- Reply-to: hanlonr at cox.net
- Sender: owner-wri-mathgroup at wolfram.com
dist1[pt_, ptList_] := Module[{d},
Sqrt[(d=#-pt).d]&/@ptList];
pts2 = {{x1,y1},{x2,y2},{x3,y3}};
pts3 = {{x1,y1,z1},{x2,y2,z2},{x3,y3,z3}};
d12=dist1[{x,y},pts2]
{Sqrt[(x1 - x)^2 + (y1 - y)^2],
Sqrt[(x2 - x)^2 + (y2 - y)^2],
Sqrt[(x3 - x)^2 + (y3 - y)^2]}
d13=dist1[{x,y,z},pts3]
{Sqrt[(x1 - x)^2 + (y1 - y)^2 + (z1 - z)^2],
Sqrt[(x2 - x)^2 + (y2 - y)^2 + (z2 - z)^2],
Sqrt[(x3 - x)^2 + (y3 - y)^2 + (z3 - z)^2]}
In version 5
dist2[pt_, ptList_, p_:2] := Norm[pt-#,p]&/@ptList;
d22=dist2[{x,y},pts2]
{Sqrt[Abs[x - x1]^2 + Abs[y - y1]^2],
Sqrt[Abs[x - x2]^2 + Abs[y - y2]^2],
Sqrt[Abs[x - x3]^2 + Abs[y - y3]^2]}
Reduce[d22==d12,Reals]
True
pts = {{x1,y1,z1},{x2,y2,z2},{x3,y3,z3}};
d23=dist2[{x,y,z},pts3]
{Sqrt[Abs[x - x1]^2 + Abs[y - y1]^2 + Abs[z - z1]^2],
Sqrt[Abs[x - x2]^2 + Abs[y - y2]^2 + Abs[z - z2]^2],
Sqrt[Abs[x - x3]^2 + Abs[y - y3]^2 + Abs[z - z3]^2]}
Reduce[d23==d13,Reals]
True
dist2[{x,y},pts2,1]
{Abs[x - x1] + Abs[y - y1], Abs[x - x2] + Abs[y - y2],
Abs[x - x3] + Abs[y - y3]}
dist2[{x,y},pts2,Infinity]
{Max[Abs[x - x1], Abs[y - y1]], Max[Abs[x - x2],
Abs[y - y2]], Max[Abs[x - x3], Abs[y - y3]]}
Bob Hanlon
>
> From: Piotr Kowalski <pkowalsk at ibspan.waw.pl>
To: mathgroup at smc.vnet.net
> Date: 2005/03/18 Fri AM 05:33:49 EST
> To: mathgroup at smc.vnet.net
> Subject: [mg55313] [mg55273] Distance from point to set
>
> 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
>
>