Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Hilbert type space filling curve #4

Open
Ruibin-Liu opened this issue Mar 19, 2022 · 2 comments
Open

Hilbert type space filling curve #4

Ruibin-Liu opened this issue Mar 19, 2022 · 2 comments
Labels
enhancement New feature or request

Comments

@Ruibin-Liu
Copy link
Owner

As shown in the README example and the Google Colab example, we can construct Z-order or Morton space filling curve patterns. In my original plan for presenting examples, I thought I should construct Hilbert-type space filling curves first. In fact, a Hilbert.py file is already in the examples folder.

The question is, how should I modify the algorithm so that we can construct Hilbert-type space filling curves?

Thoughts:

  1. Change the sort order when switching to a new direction.
  2. For implementation details, I can either create a new function similar to sort_divide but for Hilbert-type pattern sorting/indexing or keep the same function but change the behavior when a key word like pattern_type is specified to either Morton or Hilbert.
@Ruibin-Liu
Copy link
Owner Author

Ruibin-Liu commented Mar 22, 2022

Turns out the above thoughts are too naive. We need to modify a lot of the sorting scheme according to https://en.wikipedia.org/wiki/Hilbert_curve#/media/File:Hilbert_curve_production_rules!.svg Because of that, we can create a different _sort_divide function for Hilbert-type curves.

@Ruibin-Liu Ruibin-Liu added the enhancement New feature or request label Mar 22, 2022
@Ruibin-Liu
Copy link
Owner Author

For now, 2D case has been implemented, but the 3D case need much more thoughts. Read this paper: https://arxiv.org/abs/1109.2323

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant