Я хочу создать треугольник с фоном, окрашенным в цвета RGB. Используется для отображения значений цвета.
Я мог бы узнать, как рассчитать позиции в таком треугольнике
function [x,y] = RGBtoCartCoordXY(R, G, B)
RGB = R + G + B;
r = R / RGB; g = G / RGB; b = B / RGB;
XYr = [-0.5; -0.5]; XYb = [+0.5; -0.5]; XYg = [+0.0; +0.5];
xy = (r * XYr + b * XYb + g * XYg) / ( r + g + b );
x = xy(1); y = xy(2);
но мой подход к рисованию такого треугольника с точками на графике был не очень удачным, и для полезного количества точек требуется очень много времени (здесь> 100000)

Кажется, что точки имеют тень, и я не хочу пустого пространства на заднем плане. Исходя из этого, я хочу, чтобы этот график был как можно более быстрым, поскольку я хочу построить простую кривую сверху - это фактическая информация на графике.
EDIT:
Сюжет основан на этом коде:
for r = linspace(0,1,points)
for g = linspace(0,1,points)
for b = linspace(0,1,points)
index = index + 1;
RBGtriple(index, :) = [r g b];
end
end
end
for k = 1:size(RBGtriple,1)
R = RBGtriple(k,1);
G = RBGtriple(k,2);
B = RBGtriple(k,3);
[x y] = RGBtoCartCoordXY(R,G,B);
xaxis(k) = x;
data(k) = y;
end
hold on;
for k = 1:size(RBGtriple,1)
hplot = plot (xaxis(k), data(k));
set(hplot, ...
'Marker', 'square', ...
'LineStyle','none' , ...
'MarkerSize' ,3 , ...
'LineWidth' , 0.1, ...
'MarkerEdgeColor',RBGtriple(k, :) , ...
'MarkerFaceColor',RBGtriple(k, :));
end
hold off;