Как я могу сгладить набор 3D точек? - PullRequest
3 голосов
/ 17 августа 2011

этот вопрос является расширением моего предыдущего вопроса, который вы можете найти здесь:

Как построить куб данных в python

Дело в том, что у меня есть трехмерный график точек, но если я буду следовать методу, описанному в моем предыдущем вопросе, я могу получить ошибку переполнения, когда у меня слишком много точек для построения. Мне нужно построить миллионы точек, чтобы сгладить трехмерное распределение, иначе для построения графика потребуется огромное количество времени, а также я могу получить ошибки памяти.

Я думал, что, возможно, смогу свернуть дистрибутив с ядром Гаусса, но я не знаю, будет ли это лучшим вариантом. Более того, я пока не могу этого сделать.

1 Ответ

0 голосов
/ 04 сентября 2011

Как я уже ответил в оригинальном вопросе, сюжет Dots хорош для вас. Он создается MathGL - библиотекой графиков GPL. Добавить его не нужно много памяти, если вы сохраните в растровом формате (PNG, JPEG, GIF и т. Д.).

Однако есть еще один вариант сглаживания: (i) составить гистограмму распределения точек (т.е. средние значения точек или цвета внутри некоторой ячейки) - в кадре MathGL вы можете использовать функцию Hist () даже для точек в трехмерном пространстве; или же (ii) использование стандартных функций сглаживания (например, mglData :: Smooth () в MathGL), но здесь вам нужно использовать регулярные массивы, то есть как {x [i, j, k], y [i, j, k], z [i, j, k], c [i, j, k]}.

Оба варианта дадут вам регулярные массивы, которые могут быть построены разными способами - см. Эти выборки .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...