辽大真他实感图形生成技术.pptVIP

  • 0
  • 0
  • 约1.01万字
  • 约 60页
  • 2018-12-23 发布于福建
  • 举报
辽大真他实感图形生成技术

计算机图形学演示稿 纪玉波制作(C) 上式就是计算机图形学中通常使用的简单光照模型,也称为明暗函数,用它可以计算出物体表面上每一象素处的光强或明暗色调。上式的计算量是很大的,尤其是镜面反射方向矢量R的计算。使用矢量L与V间的半角矢量H来计算镜面反射范围可得到简化的Phong模型。只须以N·H替代Phong模型中的点积V·R。这等于用cos?计算来替代cosα,如图11所示。半角矢量可从下式计算得到: H﹦(L﹢V)/2 替换后(8-8)可以写为: I﹦kaIa﹢Il(kd(N·L)﹢ks(N·H)n)/(d+K) 若观察点与光源离物体表面足够远,则V与L可以看作为常量,则H亦为常量。就是说只要计算一次H的值就可以,但R是随N变化而改变的,这就是用N·H近似V·R的好处。 图11 8.2.4 多点光源和颜色 若存在多个点光源,则物体表面上的反射光强度是各个点光源照射效果的线性相加,这时光照模型为: I﹦kaIa﹢ (kd(N·Li)﹢ks(N·Hi)n) 其中,m为点光源的数目。 大多数真实感图形均为彩色图形,要生成一幅彩色图形,需要用RGB三基色分量来标识光源强度和物体表面颜色,并根据光照模型来计算反射光中的RGB分量。但由于镜面反射光的颜色通常取决于入射光的颜色,因此计算RGB分量时ks取相同的常数值。将式(8-10)改写成RGB三个分量的形式为: IR﹦kaRIaR﹢IlR(kdR(N·L)﹢ks(N·H)n)/(d+K) IG﹦kaGIaG﹢IlG(kdG(N·L)﹢ks(N·H)n/(d+K) IB﹦kaBIaB﹢IlB(kdB(N·L)﹢ks(N·H)n/(d+K) 计算出RGB三个基色分量的强度,用来控制RGB彩色显示器中相应的电子枪,就可以获得彩色图形。 8.3 透明处理 前面介绍的光照模型假定所考虑的物体表面是不透明的。但有些物体是透明的,如水、玻璃等。一个透明物体的表面会同时产生反射光和折射光。当光线从一种传播介质进入另一种传播介质时,例如从空气进入水中时,光线会由于折射而产生弯曲。光线弯曲的程度由Snell定律决定,该定律指出折射光线与入射光线位于同一平面内,而且入射角与折射角之间存在下列关系: η1sinθ=η2sinθ’ 式中,η1和η2分别为光线在第一种介质和第二种介质中的折射率,θ为光线入射角,θ’为折射角,图12为示意图。实际中,没有那种材料能够透过全部入射光,总有一部分被反射出去。 图12 入射与折射的关系 光有规则透射和漫透射。透明材料如玻璃等会产生规则透射,透过透明材料观察物体仍然是清晰的。如果透射光线是发散的,那么就会形成漫透射,发生漫透射的材料呈现朦胧的半透明状态。漫透射计算复杂,大多数光照模型仅考虑规则透射。 当要表示一个透明表面时,光强度计算公式必须进行修改,一方面要考虑由于透射的原因,表面反射光强度的减弱,另一方面还要考虑表面背后物体的反射光穿过透明表面,对表面总光强度的增加,如图13所示。 为了加速光强度的计算,简单的透明算法不考虑折射导致的路径变化,这样折射角总是与入射角相同,也不考虑光线在媒体中所经路线长度对光强的影响。对透明的可见面,取它与同它相距最近的另一表面光强的线性组合,则总的光强度可表示为: I=ktIt+(1-kt)Ic 0≤kt≤1 其中,Ic为透明可见面的反射光强度,It为透明可见面后第一个可见表面上的光强度。kt为透明可见面的透明度。kt=0对应不透明面,光线无透射。kt=1对应不可见面,光线全部透射。Ic和It可用前面介绍的光照模型计算。 若It所对应表面也是透明面,则上述算法可以递归地使用,直到遇到一个不透明面或背景时为止。 透明处理还可以用于显示复杂物体或空间的内部结构。为每一多边形表面均设一透明度,透明度的初始值均取为1,绘制出物体的外形消隐图。通过有选择地将某些表面的透明度改为0,即将它们当做看不见的面处理,这样再次绘制画面时,就会显示出物体的内部结构。 图13 8.4.1 表面法线的计算 但为了提高计算速度,一般用多边形平面逼近曲面。对于多边形平面,可根据其平面方程的系数,决定平面的法向量,平面内所有点的法向量是相同的。而多边形平面在顶点处的法向量可取包围该顶点的各多边形平面法向量的平均值。如图14中,顶点V处的近似法向量为: NV﹦(N1﹢N2﹢...﹢Nn)/n 其中,n为包围顶点的平面个数,图中示例n=4。 如图14 但多边形一般是由顶点和棱边存储的,在各多边形平面方程未知的情况下,顶点处的法向量可取交于此顶点的各棱边叉积的平均值。如图1

文档评论(0)

1亿VIP精品文档

相关文档