- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 2.Gouraud方法 亮度(或颜色)插值明暗法 通常被称为Gouraud着色方法。增加逼近空间形体的多边形表面的数目,Mach带效应可以随之减弱。 亮度(或颜色)插值明暗法处理过程有以下四个步骤: (1)计算各多边形表面的法向量。 (2)计算各顶点的法向量。这里顶点的法向,指共享该顶点的所有多边形表面法向的平均值。 * * 如果有一条边是作为边界准备显示出来的,可以对这条边的每个顶点,计算两个法向量,每个是一侧各边形表面法向量的平均值。 * * 计算各顶点的亮度。因为各顶点的法向已经求得,所以已经可以利用上节讨论的计算亮度的公式进行计算。 计算各多边形表面上任意点处的亮度值,实行对多边形表面的明暗处理。做法是先利用顶点的亮度值,在边上做线性插值,求得边上的亮度值。再用之在扫描线上做线性插值,从而求得多边形面内任意点处的亮度值。 * * * * 3 Phong方法 法向量插值明暗法是越南人Bui-Tuong Phong提出来的,通常称为Phong氏形成明暗法。 这个方法是对法向量进行插值,而不是对亮度进行插值。在求得各顶点法向后,求多边形边上各点及多边形面内任意点处法向所用的插值方法,与亮度插值明暗法中进行插值计算的方法相同。因此这个插值也可以很好地应用前面提到的扫描线算法。 * * 求得扫描线上每点的法向量后,在每点处实际计算亮度,可以应用任何一种光照明模型。 如果应用镜面反射,比起亮度插值法会得到明显的改进,因为强光能更加真实地得到反映。即使不应用镜面反射,法向插值的结果也比亮度插值的结果好。这是因为对每一点都使用法向量的近似值,使得可以减少Mach带效应引起的问题。但另一方面,对每一点都要计算亮度,使得计算量大为增加. * * 绘制多边形的步骤: (1)计算多边形的单位法矢量。 (2)计算多边形顶点的单位法向量。 (3)在扫描线消隐算法中,对多边形顶点的法向量进行双线性插值,计算出多边形内部(扫描线上位于多边形内部)各点的法向量。 双线性插值的方法如图所示,NA由N1,N2线性插值得到: * * * * (4) 利用光照明模型计算P点的颜色。 当扫描线y递增一个单位变为y+1时,NA,NB的增量分别为△NA,△NB,即 当x递增一个单位(P点沿扫描右移一个单位)时,NP增量为△NP即 * * Phong着色方法中,多边形上每一点需要计算一次光照明模型,因而计算量远大于Gouraud着色方法。但是Phong着色方法绘制的图形更加真实,特别体现在如下两个场合(考虑要绘制一个三角形)。 ①?如果镜面反射指数n较大,三角形左下角的顶点 (R与V的夹角)很小,而另两个顶点的 很大,以光照明模型计算的结果是左下角顶点的亮度非常大(高光点),另两个顶点的亮度小。若采用Gouraud方法绘制,由于它是对顶点的亮度进行插值,导致高光区域不正常地扩散成很大一块区域。 * * 而根据n的意义,当n较大时,高光区域实际应该较集中。采用Phong方法绘制的结果更符合实际情况。 当实际的高光区域位于三角形中间时,采用Phong方法能产生正确的结果,而若采用Gouraud方法,由于按照光照明模型计算出来的三个顶点处的亮度都较小,线性插值的结果是三角形中间不会产生高光区域。 * * * * 对于隐藏面消除算法,是从观察点看,确定哪些表面是可见的。而对于阴影发现算法,是从点光源“看”,确定哪些表面是可见的。从观察点和从点光源都能看见的表面,就是可见的表面。从观察点可见,而从点光源不可见的表面,就在阴影之中。 应当注意,这种简便方法不能构造出来自分布光源的阴影。如果要把分布光源造成的阴影也考虑进去,则必须计算阴影的本影和半影。 第三节 阴 影 * * 阴影可以分为本影和半影。 本影:景物表面上未被任何光源直接照射到的区域。 半影:景物表面被部分光源照射但没被全部光源照射到的半明半暗的区域。 点光源:光线由光源出发向四周发散,和场景中物体相比,光源很小且距离景物足够远。 分布式光源:光源与场景中的物体相比不够小,且距景物较近,这时需计算光源外表面各点所共同产生的光照。 单一点光源只能产生本影。而线光源、面光源或分布式光源可同时产生本影和半影。 * * 本影 半影 无影 分布式光源 本影的计算简单,半影计算复杂。我们只考虑本影的计算。 * * * * 当要表现一个客体时,可以分别对观察点及各点光源实施同样的消除隐藏面的算法,分别对观察点及各点光源确定出相应的可见部分和不可见部分,然后把所得结果进行整理,通过正确形成明暗
原创力文档


文档评论(0)