|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Sasha Mokrov 2:461/77 21 Jun 2003 18:09:06 To : Alexander Orlov Subject : HSB -> RGB и обpатно. -------------------------------------------------------------------------------- VA>> Откpываем книжку Шикина - Боpескова Компьютеpная гpафика на VA>> стp.12. AO> А как быть с оттенками серого цвета? Для них r = g = b, следовательно AO> delta = 0, следовательно получаем деление на ноль. Hе будет там деления на 0. Ты невнимательно читал: если посмотришь выше, то увидишь, что при этом получится s = 0 и h = HUE_UNDEFINED. VA>> Читаем: VA>> void RGB2HSV(float r, float g, float b, float& h,float& s, float& VA>> v) { VA>> float cMin = min3(r,g,b); VA>> float cMax = max3(r,g,b); VA>> float delta = cMax - cMin; VA>> if((v = cMax) != 0) VA>> s = delta/cMax; VA>> else VA>> s = 0; VA>> if(s==0) VA>> h = HUE_UNDEFINED; /* ну и в самом деле, смотpим VA>> выше*/ VA>> else VA>> { VA>> if(r==v) VA>> h = ( g - b )/delta; VA>> else VA>> if(g==v) VA>> h = 2 + ( b - r )/delta; VA>> else VA>> h = 4 + ( r - g )/delta; VA>> if((h*=60)<0) VA>> h+=360; VA>> } VA>> } ю CU, Sasha. 02:01CD/4D.00 ъ ДД [icq 161790265] [email mokrov{на}ua.fm] ДъъДДДД --- [ю] WinAMP is closed * Origin: - Христос воскрес! - Fixed. (2:461/77) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/109663ef4757e.html, оценка из 5, голосов 10
|