Визуализация трехмерной гистограммы в переполнении стека

У меня есть некоторые трехмерные данные (координаты XYZ), которые я пытаюсь представить в виде трехмерной гистограммы. Каков наилучший способ визуализировать это в C ++? Я также хотел бы отображать разные цвета в зависимости от значения z. Любая информация об этом была бы отличной.
Заранее спасибо.

1

Решение

Я полагаю, что вы надеялись на решение вашей проблемы под ключ, но, хотя я видел много 3D гистограмм за эти годы, у меня нет библиотеки, на которую я могу указать и сказать «просто используйте это. » Однажды я наблюдал, как исследователи виртуально бродят по огромной трехмерной гистограмме в Second Life, обсуждая глубину исследования данных, которую может предложить только погружение.

Проблема в том, что вам нужен динамический вид с минимальным вводом мышью. Есть несколько библиотек для трехмерной графики, но они предназначены для визуализации поверхностей, что не совсем то, что вам нужно. Вот один с интерфейсом управления ActiveX для начинающих.

Так что теперь я думаю о графических API, таких как OpenGL и DirectX, где вы можете просто нарисовать геометрию самостоятельно. Но я не уверен, что вы знаете что-нибудь о графическом программировании, и поэтому вывести на экран один треугольник, не говоря уже о 2 * 5 * w * h треугольниках. Без обид — это настоящее испытание для Б-га.

Если не считать объяснения, как это сделать каким-либо разумным способом, теперь мне интересно, могу ли я просто обойти эту проблему. Вы можете использовать любое количество графических библиотек для рисования матрицы диаграмм, по одной для каждого среза в сетке. Или двухмерная цветовая тепловая карта, где цвет соответствует значению Z, как вы предложили.

Но это бесполезно, потому что вы хотели трехмерную гистограмму. Так, может быть, я могу отговорить тебя от этого? Хотя было показано, что люди предпочитаю 3D гистограммы, они не выступать также используя их, по сравнению с 2D-представлениями. И если вы хотите, чтобы 3D-представление было эффективным, вам может понадобиться использовать стерео 3D или связанные физические модели.

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

1

Другие решения

Не бесплатно, но подойдет ли это? https://blog.qt.digia.com/blog/2013/11/07/qt-data-visualization-technology-preview-and-charts-1-3-1-release/

Может быть: использовать р, и библиотека привязки C ++, например, Rcpp.

Или возможно: PLplot.

1

По вопросам рекламы [email protected]