function angle = MunsellHueToAngle(H1,H2) % angle = MunsellHueToAngle(H1,H2) % % Convert a standard Munsell hue designation to an angle % % The hue designation consists of a leading number % (e.g. 2.5, 5, 7.5, 10) and a symbolic hue name. % % We convert these to angle using the convention specified % on page 509 of Wyszecki and Stiles, 2nd edition. Angle % is in degrees increasing counterclockwise form the positive % x-axis in the diagram. % % See also: MunsellAngleToHue % % dhb, ijk Wrote it. % Get base angle information from sybmolic hue name switch (H2) case 'Y' index = 0; case 'YR' index = 1; case 'R' index = 2; case 'RP' index = 3; case 'P' index = 4; case 'PB' index = 5; case 'B' index = 6; case 'BG' index = 7; case 'G' index = 8; case 'GY' index = 9; otherwise error(sprintf('Illegal Munsell hue string passed: %s',H2)); end angle10 = index*360/10; angle0 = (index+1)*360/10; % Now we need to interpolate between angle10 and angle0, depending on the % number passed in H1. if (H1 < 0 || H1 > 10) error(sprintf('Illegal Munsell hue number passed: %s',H1)); end angle = interp1([10 0],[angle10 angle0],H1,'linear');