Re: The farthest apart points problem

*To*: mathgroup at smc.vnet.net*Subject*: [mg4679] Re: The farthest apart points problem*From*: peter at su.se (unk)*Date*: Thu, 22 Aug 1996 03:55:29 -0400*Organization*: Your Organization*Sender*: owner-wri-mathgroup at wolfram.com

In article <4t6b17$7d3 at dragonfly.wolfram.com>, rigon at csrp.tamu.edu says... > >Let us have n points in a plane being the vertices >of a convex hull. >Do you know a fast and simple algorithm to >determine which pairs is separated by the largest >distance ? > >Thank you in advance for any help, > >Riccardo > > > A neat way of doing what you want is to use Outer. I works with ver 2.2.3 do this: dist1[aa_,bb_]=Sqrt[(aa-bb).(aa-bb)]; (*arbitrary dimension distance func. *) a={{0,0,0},{0,2,2},{2,0,2},{2,2,0}} b={{1,1,1},{3,3,3}} (*samle points*) and finally: Flatten[Outer[dist1,a,b,1,1]] you get: {Sqrt[3], 3 Sqrt[3], Sqrt[3], Sqrt[11], Sqrt[3], Sqrt[11], Sqrt[3], Sqrt[11]} i.e. the distance between of all combinations of the two sets of points a,b in your case a = b should be a list of the points in the polygon. To find the max of the distances just do Max[%//N] The two last aguments (level specifications) in Outer I have seen documented only in Mathematica Journal vol 6 issue 3 you can also look in MJ vol 1 issue 1, I think the last ref. uses a trick to avoid the level specefication that vas not available in early MaMa versions /Peter W e-mail peter at physto.se. ==== [MESSAGE SEPARATOR] ====