Раскраска точек на 3D графике
Для анализа статистических данных или формирования входных значений, может оказаться полезной возможность цветовой интерпретации результатов.
В данной статье приведён пример, как сформировать массив случайно расположенных точек, раскрашенных, согласно заданной цветовой карте. Случайные коордиинаты точек сформированы покомпонетно функцией rand(). В данном случае, координаты принимают значения от 0 до 1.
Далее, с помощью функции jetcolormap, вычисляется цветовая карта с n цветами, варьирующимися от синего, голубого, зеленого, желтого, оранжевого, и до красного.
Далее, с помощью функции param3d1 все точки добавляются на трёхмерную плоскость, но остаются невидимыми благодаря drawlater. Пока эти точки чёрные.
Настроив параметры отображени точек в пространсве, можем приступать к их раскраршиванию в цикле dots(i).mark_foreground = w(i).
И только после присвоения случайно сформированного цвета, каждой из 500 точек, мы включаем их видимость на графике с помощью drawnow.
clc; clf();
nc = 100; // количество оттенков точек
n = 500; // количество точек
x = rand(1,n); y = rand(1,n); z = rand(1,n); // 3 случайны вектора с 500 значениями
w = rand(1,n)*nc;
f = gcf();
f.color_map = jetcolormap(nc);
drawlater
param3d1([x ; x],[y ; y],[z ; z])
// Задание вида точки:
e = gce();
dots = e.children;
dots.mark_mode = "on";
dots.mark_size_unit = "point";
dots.mark_size = 5;
// Раскраска точек:
for i = 1:length(dots)
dots(i).mark_foreground = w(i);
end
drawnow
Случайные точки случайного цвета в 3-х мерном пространстве.
Результат работы программы:
Комментарии