Message Boards Message Boards

0
|
9472 Views
|
2 Replies
|
2 Total Likes
View groups...
Share
Share this post:

SortBy does not do anything before Locator points are clicked on

Posted 10 years ago

Can you please help me with the following code (I am trying to order points in a counterclockwise way according their relative position to a fixed point):

Manipulate[Module[{opts},
  opts = SortBy[Rest[pts], 
    Arg[(Complex @@ #) - (Complex @@ pts[[1]])] &];
  Column[{Graphics[{Line[opts]}, PlotRange -> {{0, 45}, {0, 30}}, 
     ImageSize -> {450, 300}], pts, opts}]],
 {{pts, {{10, 10}, {35, 10}, {20, 20}, {20, 15}}}, Locator}]

After running it I get the output attached as Problem1.jpg

On the other hand, when I click on the point at (20,15), I get the output attached as Problem2.jpg

SortBy did not do anything until the Locator was clicked. And until I click on all the Locator points, the ordering is not correct. Can you tell me the reason for this, and how to fix it?

Attachments:
POSTED BY: Ferenc Beleznay
2 Replies
Posted 10 years ago

Yes indeed, thank you very much for your explanation. After reading your comment, I also tried changing the points from {10,10} to {10.,10.}, which also gave the correct ordering. SortBy did something afterall, just not what I was expecting. Thanks again.

POSTED BY: Ferenc Beleznay
POSTED BY: Lou D'Andria
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract