Re: How can I find the closest distance between a specified point and an interpolation curve?
- To: mathgroup at smc.vnet.net
- Subject: [mg27283] Re: How can I find the closest distance between a specified point and an interpolation curve?
- From: "Allan Hayes" <hay at haystack.demon.co.uk>
- Date: Sun, 18 Feb 2001 02:52:16 -0500 (EST)
- References: <96is0i$dg6@smc.vnet.net> <pRIj6.5848$Rl5.43715@ralph.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Erich,
Unfortunately, the use of the interpolation function spoils this approach.
Even if the interpolation is linear -- when we will be looking for the
nearest point on the line joining the points.
Example:
pt = {0,0}
PointSet = {{-1,0}, {1,0}}
But the FindMinimum method (Seth Chandler, Rasmus Debitsch) works:
bestpoint[ptset_,pt_]:=
With[{fc=Interpolation[ptset]},
ffc=fc;
FindMinimum[With[{d={x,fc[x]}-pt},Sqrt[d.d]],
Join[{x},{Min[First/@ptset],Max[First/@ptset]}]]]
bestpoint[PointSet, pt]
Interpolation::inhr: Requested order is too high; order has been
reduced to {1}.
{0., {x -> 0.}}
Allan
---------------------
Allan Hayes
Mathematica Training and Consulting
Leicester UK
www.haystack.demon.co.uk
hay at haystack.demon.co.uk
Voice: +44 (0)116 271 4198
Fax: +44 (0)870 164 0565
"Erich Mueller" <emuelle1 at uiuc.edu> wrote in message
news:pRIj6.5848$Rl5.43715 at ralph.vnet.net...
> Here is a brute force way: First calculate the square of the distance
> from each point in "Pointset" to the given point
>
> distset = (# - pt).(# - pt) & /@ Pointset
>
> The result is
>
> {50, 52, 85, 101, 170, 293, 409, 1274}
>
> So the closest point is {0,0}.
>
> Erich
>
> On 16 Feb 2001, liwen liwen wrote:
>
> > Dear friends,
> > Here is a curve that is produced by
> > Interpolation[PointSet] function,
> > Pointset={{0,0},{1,1},{3,4},{4,5},{6,8},{7,12},{8,15},{12,30}}.
> >
> > Fc=Interpolation[PointSet].
> > the specified point is:
> > pt={5,-5}
> > I want to find the closest distance between the point
> > of pt and Fc ?
> >
> > Please help!
> >
> > Best regards,
> > Liwen 2/15/2001
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Get personalized email addresses from Yahoo! Mail - only $35
> > a year! http://personal.mail.yahoo.com/
> >
> >
>
>