Ich muss den Z-Index (Morton) eines Punktes auf einer Ebene von seinen 2 Koordinaten x, y berechnen.Z-Index mit Beschränkungen außerhalb der Grenzen
Traditionell wird dies nur durch das Bit-Interleaving gelöst.
Allerdings habe ich Grenzen, und ich möchte, dass der Z-Index des Punktes nur die Mortonanzahl erhöht, wenn sie sich innerhalb des aktiven Bereichs befindet, und die Zählung überspringen, wenn sie draußen ist.
Um klar zu sein, die typische z Ordnung in einem 4x4-Quadrat ist:
| 0 1 4 5 |
| 2 3 6 7 |
| 8 9 12 13 |
| 10 11 14 15 |
Allerdings, wenn ich einen 3x3 aktiven Bereich haben, möchte ich den Index wie folgt berechnet werden:
| 0 1 4 x |
| 2 3 5 x |
| 6 7 8 x |
| x x x x |
Wie Sie sehen können, ist das 00-11 Quad voll, das 02-13 überspringt die Anzahl der 2 Punkte, die außerhalb des aktiven Bereichs liegen, gleich für 20-31 und für 22-33.
Wichtig: Ich möchte dies ohne Iteration tun.
Gibt es eine bekannte Lösung für dieses Problem?
waren Sie in der Lage Lösung hierfür zu finden? – kanna
nein, sorry ...... – Michele
Ich bin in der Lage, Antwort von https://fgiesen.wordpress.com/2009/12/13/decoding-morton-codes/ – kanna