Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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)))




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: