Re: Sorting point-arrays by rows and columns, cont.
- To: mathgroup at smc.vnet.net
- Subject: [mg124126] Re: Sorting point-arrays by rows and columns, cont.
- From: Shizu <slivo.vitz at msa.hinet.net>
- Date: Tue, 10 Jan 2012 05:58:15 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
> Thanks to Fred Simons for this method. Seems to work
> fine and seems to
> be one of the simplest to use in this particular
> case. Still wish that
> Sort would just accept a list of successive
> conditions to break ties,
> as SortBy does. (SortBy, however, applies the
> functions to every
> element and _then_ sorts, not what we want here.)
>
> In[3]:= Sort[hexPts, #1[[2]] < #2[[
> 2]] \[Or] (#1[[2]] == #2[[2]] && #1[[1]] <=
> ]] <= #2[[1]]) & ]
>
> Out[3]= {{-(1/2), -(Sqrt[3]/2)}, {1/2, -(Sqrt[3]/2)},
> {-1, 0}, {0,
> 0}, {1, 0}, {-(1/2), Sqrt[3]/2}, {1/2, Sqrt[3]/2}}
>
Finally, I understood what Chris wanted -- you wanted to sort by Y and then X coordinates. I think Fred's method is the most elegant so far. My procedure is kind of complex, so I didn't post it here. What Chris expected from Mathematica doesn't exist. And so, you may want to invent your own Sort[] or amend the original Sort[] or SortBy[], and share the result with us?