Order Left to Right Top to Bottom

john's Avatar


11 Mar, 2022 02:51 AM

It is sometimes necessary to sort a set of points into a predictable LRTB (Left to Right, Top to Bottom) order.

The first time I had to do this I thought it was too unusual to merit inclusion in my Node Library. The second time I thought it was still more of a fluke than a regular thing. But the third time I finally decided to make an official Library Node.

order_LRTB takes a list of points and returns those same points in Left to Right, Top to Bottom order.

You would think you could do this by simply using a sort points node by X and a second one by Y, but the Y sort does not preserve the previous order for points with the same Y value.

The attached demo and screenshot show this. I take a 16-sided polygon - which creates points in clockwise order - and feed those points first into a X and Y sort, then into the order_LRTB node. I then divide the points into pairs and draw an arrow from the first point to the second. The X and Y points come out in Y order, but not consistently in an X order for each pair. The order_LRTB node sorts them correctly.

Not a big deal. But handy every now and then. Included in the next rev of my library COMING SOON!


Reply to this discussion

Internal reply

Formatting help / Preview (switch to plain text) No formatting (switch to Markdown)

Attaching KB article:


Already uploaded files

  • order_LRTB_screenshot.png 289 KB
  • order_LRTB_demo.ndbx.zip 3.96 KB

Attached Files

You can attach files up to 10MB

If you don't have an account yet, we need to confirm you're human and not a machine trying to post spam.

Keyboard shortcuts


? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac

Recent Discussions

29 May, 2024 05:47 AM
29 May, 2024 05:15 AM
29 May, 2024 05:12 AM
28 May, 2024 07:37 PM
25 May, 2024 11:52 AM


24 May, 2024 07:39 AM
16 May, 2024 02:11 AM
14 May, 2024 01:29 AM
12 May, 2024 07:46 PM
05 May, 2024 04:38 PM
03 May, 2024 06:50 AM