eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingIndeksowanie 2D › Indeksowanie 2D
  • Data: 2017-02-03 08:52:16
    Temat: Indeksowanie 2D
    Od: Borneq <b...@a...hidden.pl> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    Mam punkty 2D na płaszczyźnie 256x256, może być większa 1000x1000 a
    nawet 10 tys x 10 tys. Chciałbym mieć indeks taki, by od razu znaleźć
    punkty odległe we wszystkich kierunkach o 10 od wskazanego punktu.
    Wybieram powiedzmy 137,168
    Jest rozwiązanie polegające na tym że liczbom x i y mającym bity
    x0x1x2..x7 i y0y1y2..y7 daje się bity wstawione jedne w drugie
    x0y0x1y1..x7y7.
    Potem porządkujemy po tych bitach otrzymując 0..65535.
    To jest jakieś rozwiązanie, ale dla jakiejś liczby np. 30'000 gdy
    zaczniemy od liczba-100 do liczba+100 to zarówno otrzymamy dalsze niż 10
    jak i bliższe wszystkie niż 10 nie będą.
    Co do dalszych, to możemy dodatkowo filtrować po odległości. Drugi
    przypadek - należy wystartować z inną pozycją indeksu. Jak to można zrobić?
    Testowy program:
    https://gist.github.com/borneq/36808830520c059ae4740
    61c46c282f5

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: