MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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
> 
> 


  • Prev by Date: Re: Multiple > and < calculations [great than & less than]
  • Next by Date: Notification of Abstract Acceptance for IMS 2005
  • Previous by thread: Re: Distance from point to set
  • Next by thread: Re: Distance from point to set