第八节 色彩模型    
         
  下面我们给出RGB模型与HSV模型之间的转换算法。

RGB-TO-HSV算法:
    算法的输入是RGB模型中的颜色(rI,gI,bI)值,rI,gI,bI∈[0,1]。
    S1: [初始化] V=Max(rI,gI,bI),
        Temp=Min(rI,gI,bI).
    S2: [计算S] 如果 V=0,则S(0;
        否则 S((V-Temp)/V
    S3: [计算cr,cg,cb] cr((V-R)/(V-Temp), cg((V-G)/(V-Temp), cb((V-B)/(V-Temp),
    S4: [H] 如果 R=V, 则 H←cb-cg。(这个颜色是在yellow与magenta之间)
        如果 G=V, 则 H←2+cr-cg。(这个颜色是在cyan与yellow之间)
        如果 B=V, 则 H←4+cg-cr。(这个颜色是在magenta与cyan之间)
        H←60*H. 如果 H<0,则 H←H+360,结束。

HSV-TO-RGB算法
    输入为HSV模型中的H(0-360),S(0-1),V(0-1)。
    S1:[当S=0时] 判断H是否为无定义,如果是,则(r,g,b)((V,V,V);否则, 报告出错,结束。
    S2:[当S=0时]
        S2.1 如果H=360,则H←0。 H←H/60, I←int(H),f ← H-I。 M←V(1-S), N←V(1-S*f),K←V(1-S(1-f)), (r,g,b) ←(V,K,,M)。
        S2.2 如果 I=0,则(r,g,b)←(V,K,M)。
        如果 I=1,则(r,g,b)←(N,V,M)。
        如果 I=2,则(r,g,b)←(M,V,K)。
        如果 I=3,则(r,g,b)←(M,N,V)。
        如果 I=4,则(r,g,b)←(K,M,V)。
        如果 I=5,则(r,g,b)←(V,M,N)。
        S2.3 输出(r,g,b),结束。
 
   
 
  第一节 漫反射及具体光源的照明
第二节 多边形网的明暗处理
第三节 阴 影
第四节 纹 理
第五节 整体光照明模型
第六节 光线跟踪
第七节 辐射度方法
第八节 色彩模型
 
 
  上一页 | 下一页