我試圖給出產生三種顏色在MATLAB一個顏色表,高極端,零和低極致色彩表。我的思維過程是從高端循環到中間,並將每一步存儲爲3xN(第一列是R,第二列是G,第三列是B)矩陣。所以我使用:MATLAB:生成給出三種顏色
%fade from high to zero
oldRed=high(1);
oldGreen=high(2);
oldBlue=high(3);
newRed=mid(1);
newGreen=mid(2);
newBlue=mid(3);
currentRed=oldRed; currentGreen=oldGreen; currentBlue=oldBlue;
for x=1:steps
currentRed=oldRed+((x*(newRed-oldRed))/(steps-1));
currentGreen=oldGreen+((x*(newRed-oldRed))/(steps-1));
currentBlue=oldBlue+((x*(newRed-oldRed))/(steps-1));
cmap=[cmap;[currentRed currentGreen currentBlue]];
end
然後我會做從零值要低極端同樣的事情。但是我的代碼並沒有給我任何有用的矩陣。有人能夠幫我解決這個問題嗎?
首先,爲什麼要用循環時,您可以使用逐元素的算術? –
我不確定你的意思。我可以使用什麼算術表達式在顏色之間淡化? – Sam
使用'linspace'或'colon'運算符(':')。您在循環中執行的所有操作都可以使用矢量化表達式在沒有循環的情況下重寫。 –