>function F () ... global C; Kr = 0.299; Kg = 0.587; Kb = 0.114; ab = (1 - Kb) / Kg; ar = (1 - Kr) / Kg; for v=-127:127; for u=-127:127; cBlue = (1 + 2*(u*ab/127.0) - (v/127.0)) / (1 + 2*ab); cRed = (1 + 2*(v*ar/127.0) - (u/127.0)) / (1 + 2*ar); temp = 2 / (ab + ar); cGreen = (1 - cRed - cBlue) * temp; if ( cRed < 0.0 || cRed > 1.0 || cGreen < 0.0 || cGreen > 1.0 || cBlue < 0.0 || cBlue > 1.0) then cRed = 0.0; cGreen = 0.0; cBlue = 0.0; endif; C[v+128,u+128]=rgb(cRed,cGreen,cBlue); end; end; endfunction
>C = ones(255,255); >F() >plot2d(none,-127,127,-127,127); ... plotrgb(C):