Назад к материалам

Раскраска точек на 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-х мерном пространстве.

Результат работы программы:

Рисунок. Генерируем конечное число точек случайного цвета в scilab
Рисунок. Генерируем конечное число точек случайного цвета в scilab

Рисунок. Генерируем конечное число точек случайного цвета в scilab.