MathGroup Archive 2008

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

Search the Archive

Re: Sorting 3 points

  • To: mathgroup at smc.vnet.net
  • Subject: [mg87970] Re: Sorting 3 points
  • From: Jean-Marc Gulliet <jeanmarc.gulliet at gmail.com>
  • Date: Mon, 21 Apr 2008 06:38:17 -0400 (EDT)
  • Organization: The Open University, Milton Keynes, UK
  • References: <fuhfa6$ibk$1@smc.vnet.net>

carlos at colorado.edu wrote:

> Simple question, but documentation is no help.
> I have three coordinate triplets:
> 
>  P1={x1,y1,z1}      P2={x2,y2,z2}      P3={x3,y3,z3}
> 
> where all entries are numeric. I wont to sort them into
> 
>  P1s={xs1,ys1,zs1} P2s={xs2,ys2,zs2} P3s={xs3,ys3,zs3}
> 
> so that zs3>=zs2>=zs1, with one command
> 
>    {P1s,P2s,P3s}=Sort[{P1,P2,P3}, Ordering Function]
> 
> Is that possible and if so, which Ordering Function
> should be used?  Thanks.

The pure function (Last@#2 > Last@#1) & seems to be a good candidate. 
For instance,

     P1 = {1, 2, 3};
     P2 = {3, 1, 2};
     P3 = {2, 3, 1};

     Sort[{P1, P2, P3}, (Last@#2 > Last@#1) &] (* Any Version *)

     SortBy[{P1, P2, P3}, Last] (* Version 6.0 and above *)

     {{2, 3, 1}, {3, 1, 2}, {1, 2, 3}}

     {{2, 3, 1}, {3, 1, 2}, {1, 2, 3}}

Regards,
-- Jean-Marc


  • Prev by Date: Re: FrontEnd and JLink
  • Next by Date: Re: Sorting 3 points
  • Previous by thread: Re: Sorting 3 points
  • Next by thread: Re: Sorting 3 points