Как я могу создать карту высот для QHeightMapSurfaceDataProxy из 2D-массива, чтобы показать результаты 2D-преобразования Фурье - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть данные - результаты двумерного дискретного преобразования Фурье. Я хочу получить карту высот, но я не знаю, как сформировать карту высот. Мне нужно отобразить эти данные как поверхность в Q3DSurface через карту высот (а не только 2D-массив).

1 Ответ

0 голосов
/ 10 ноября 2019
Конструктор

QHeightMapSurfaceDataProxy принимает изображение или файл изображения в качестве аргумента. Все, что вам нужно сделать, это создать это изображение и загрузить его.

Изображения могут быть легко сгенерированы из двумерного массива, поскольку индексы, используемые для указания на определенное значение, сохраненное в нем, могут интерпретироваться как X, Y, тогда какзначение в определенной паре индексов в качестве координаты Z.

Пример:

Если у вас есть следующее присваивание

myarr[2][10] = 200;

, вы можетепрочитайте его как X = 2, Y = 10 и Z = 200, что будет означать, что пиксель в местоположении [2; 10] имеет значение 200.

Размер изображения рассчитывается исходя из размеров вашегомассив. Если у вас 10х15 элементов, ваше изображение будет 10х15 пикселей. Проверьте, как заполнить QImage, чтобы иметь более точный код, а не мой псевдокод сверху.

...