背景が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);
、このような三角形の位置をcalcualeする方法を見つけることができますが、プロットの点で、このような三角形を描くために、私のアプローチは非常に成功しなかった、それはの便利な数のために非常に長い時間がかかりますポイント(ここでは> 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;
プロット?あなたのR、G、B入力値は? –
強化された質問に示されているように、rgb値は0と1の間で等しく分布し、プロットは 'plot'で行われます。 –