Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2012

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

Search the Archive

Re: Sorting coefficients

  • To: mathgroup at smc.vnet.net
  • Subject: [mg124041] Re: Sorting coefficients
  • From: Bob Hanlon <hanlonr357 at gmail.com>
  • Date: Sat, 7 Jan 2012 05:16:41 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <201201060914.EAA26796@smc.vnet.net>

pts = Prepend[
   Table[{Re, Im}[E^(k (2 \[Pi])/6 I)] //
     Through, {k, 0, 5}], {0, 0}];

n = 1; Graphics[Text[n++, #] & /@ pts]


To sort by layer and then within layer

order2 = SortBy[pts,
   {N[Last[#]], N[First[#]]} &];

Note that the coordinates need to be converted to Reals for the
canonical order to be the same as numerical order.

n = 1; Graphics[Text[n++, #] & /@ order2]


Sorting from lower left to upper right

order3 = SortBy[pts,
   {Norm[N[#] - order2[[1]]], Last[N[#]]} &];

n = 1; Graphics[Text[n++, #] & /@ order3]


Bob Hanlon


On Fri, Jan 6, 2012 at 4:14 AM, Chris Young <cy56 at comcast.net> wrote:
> I'm trying to get my points sorted first by rows first. But I'm having
> trouble figuring out how to do the kind of double sorting I need with
> Sort. SortBy seems very hard to figure out and I'm not sure if it's
> what I need here.
>
> I've just got a hexagonal layout of point coordinates, with another one
> on the origin, and I'm trying to sort everything from lower left to
> upper right. I.e., the usual ordering of going through the bottom row
> from left to right, then through the middle row from left to right, etc.
>
> Any help appreciated.
>
> Chris Young
> cy56 at comcast.net
>
>
> In[1043]:= Prepend[
>  Table[{Re, Im}[ E^(k (2 \[Pi])/6 I)] // Through, {k, 0, 5}], {0, 0}]
>
> Out[1043]= {{0, 0}, {1, 0}, {1/2, Sqrt[3]/2}, {-(1/2), Sqrt[3]/
>  2}, {-1, 0}, {-(1/2), -(Sqrt[3]/2)}, {1/2, -(Sqrt[3]/2)}}
>
> In[1046]:= Sort[%1043, #1[[2]] < #2[[2]] &]
>
> Out[1046]= {{1/2, -(Sqrt[3]/2)}, {-(1/2), -(Sqrt[3]/2)}, {-1, 0}, {1,
>  0}, {0, 0}, {-(1/2), Sqrt[3]/2}, {1/2, Sqrt[3]/2}}
>
> In[1073]:= Sort[%1046, #1[[2]] < #2[[2]] &]
>
> Out[1073]= {{-(1/2), -(Sqrt[3]/2)}, {1/2, -(Sqrt[3]/2)}, {0, 0}, {1,
>  0}, {-1, 0}, {1/2, Sqrt[3]/2}, {-(1/2), Sqrt[3]/2}}
>



  • Prev by Date: Re: ParametricPlot3D vs Reduce
  • Next by Date: Re: Sorting coefficients
  • Previous by thread: Sorting coefficients
  • Next by thread: Re: Sorting coefficients