Кривая Гильберта в PHP GD

#php #gd #hilbert-curve

#php #gd #кривая Гильберта

Вопрос:

У меня есть большой объем данных, которые я хотел бы иметь возможность считывать, пиксель за пикселем, в кривую Гильберта, используя библиотеку PHP GD.

Цель состоит в том, чтобы создать таблицу поиска произвольного размера, отображающую адрес в точку на пиксельной сетке. например.

     0  1  2   3  
   -------------
0 | 0  1  14  15 -> 
1 | 3  2  13  12 
2 | 4  7  8   11
3 | 5  6  9   10
  

Восьмым последовательным адресом в этом примере будет 2,2. Таблица поиска конечного результата будет состоять только из точек, на которые можно ссылаться.

 1 - 0,0
2 - 0,1
3 - 1,1
4 - 0,2
  

Я понимаю, что, безусловно, есть эффективный способ сгенерировать это, я просто еще не думал об этом.

Комментарии:

1. Итак, просто для ясности… у вас есть данные в виде огромной матрицы или как? Я не понимаю, как вы сопоставляете индексы матрицы с координатами пикселей, не могли бы вы объяснить это немного подробнее?

2. В настоящее время данные находятся в последовательном формате, просто значения в плоском файле. Я хотел бы иметь возможность записывать (и читать) это в изображение в описанной форме.

3. Не могли бы вы предоставить фрагмент файла данных?

4. На данный момент это просто плоские значения. Цель состоит в том, чтобы сгенерировать матрицу, у меня ее пока нет.