Remix.run Logo
quibono 6 hours ago

I'd love to see that. Could you link me to an implementation or explain this in more detail please?

johnisgood 4 hours ago | parent [-]

I would like to know about this more, too. Is there a code anywhere, ideally with comments? But I am fine without comments, too, I would just like to see the code and possibly with an example usage.

quibono an hour ago | parent [-]

Okay, I was intrigued and I did some digging. Morton / Z-order is all about interleaving the individual bits of the x and y coordinates. You end up grouping by quadrants. Python one liner:

    points.sort(key=lambda p: sum(((p[0]>>i&1)<<(2*i))|((p[1]>>i&1)<<(2*i+1)) for i in range(16)))