Page 120 - Computational Colour Science Using MATLAB
P. 120

IMPLEMENTATIONS AND EXAMPLES                      107



                % step 8
                ehH = [ 20.14 90.00 164.25 237.53 380.14
                0.8 0.7 1.0 1.2 0.8
                0.0 100.0 200.0 300.0 400.0 ];
                hh = h;
                if h5ehH(1,1)
                hh = 360+ehH(1,1);
                end
                for k = 1:4
                if hh 5ehH(1,k+1)
                i=k;
                break;
                end
                end
                e = ehH(2,i)+(ehH(2,i+1)-ehH(2,i))*(hh-ehH(1,i))/
                (ehH(1,i+1)-ehH(1,i));
                hq=ehH(3,i)+100.0*( (hh-ehH(1,i))/ehH(2,i) )/
                ( (hh-ehH(1,i))/ehH(2,i) + (ehH(1,i+1)-hh)/ehH(2,i+1) );
                k = floor(hq/100);
                Hp = floor(100.0*(hq/100-k)+0.5);
                if k == 0
                Hc(1).Colour = ’Yellow’;
                Hc(2).Colour = ’Red’;
                end
                if k == 1
                Hc(1).Colour = ’Green’;
                Hc(2).Colour = ’Yellow’;
                end
                if k == 2
                Hc(1).Colour = ’Blue’;
                Hc(2).Colour = ’Green’;
                end
                if k == 3
                Hc(1).Colour = ’Red’;
                Hc(2).Colour = ’Blue’;
                end
                Hc(1).Portion = Hp;
                Hc(2).Portion = 100-Hp;

                cd = sprintf(’%2.2f %s %2.2f %s’,Hc(1).Portion, Hc(1).
                Colour, Hc(2).Portion, Hc(2).Colour);
   115   116   117   118   119   120   121   122   123   124   125