Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #29379
| From | Borneq <borneq@antyspam.hidden.pl> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Indeksowanie 2D |
| Date | 2017-02-03 08:52 +0100 |
| Organization | ATMAN - ATM S.A. |
| Message-ID | <o71crd$b35$1@node1.news.atman.pl> (permalink) |
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/36808830520c059ae474061c46c282f5
Back to pl.comp.programming | Previous | Next — Next in thread | Find similar | Unroll thread
Indeksowanie 2D Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 08:52 +0100
Re: Indeksowanie 2D slawek <fake@fakeemail.com> - 2017-02-03 10:47 +0100
Re: Indeksowanie 2D Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 10:58 +0100
Re: Indeksowanie 2D slawek <fake@fakeemail.com> - 2017-02-03 16:24 +0100
Re: Indeksowanie 2D Borneq <borneq@antyspam.hidden.pl> - 2017-02-03 16:51 +0100
Re: Indeksowanie 2D "M.M." <mmarszik@gmail.com> - 2017-02-04 07:16 -0800
csiph-web