欢迎来到天天文库
浏览记录
ID:12803439
大小:1.83 MB
页数:11页
时间:2018-07-19
《计算机图形学基础大作业_陈立人》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机图形学基础大作业茶壶的造型与渲染计算机图形学基础大作业茶壶的造型与渲染陈立人2014011205一、实验简介本小组的作业借鉴了老师布置的参考作业,并在此基础上做了一定拓展。本小组有三位同学:王舒鹤同学主要负责了矢量字库部分的工作;刘怀宇同学主要研究了光线追踪算法;我主要负责了茶壶的造型和渲染工作。二、实验内容1.茶壶框架的绘制基于文献What,TeapotAgain?,根据给出的控制点,用三次贝塞尔曲线差值出茶壶四个部分的轮廓线。计算机图形学基础大作业茶壶的造型与渲染Figure1茶壶轮廓线其中,壶嘴和壶盖部分的三维造型通过对轮廓线的旋转得到;把手和壶嘴部分是根据论文中给出的控制点的
2、深度信息,用贝塞尔曲面造型得到。得到的茶壶模型是一系列的点。我将茶壶模型定义为四个曲面的集合,每曲面由一系列的小四边形组成,每个点用齐次坐标表示。通过对曲面的投影变化,得到了茶壶在视平面内的投影。基于Bresenham算法,画出了茶壶的网格线。计算机图形学基础大作业茶壶的造型与渲染Figure1三维茶壶的网格表示1.三维茶壶的光照渲染起先,使用Phong模型对茶壶上每个三角形平面进行上色,每一个小三角形的光强一致。基于Phong光照模型计算出环境光、漫发射光、镜面反射光以及总的光强,然后利用多边形扫面线填充算法在视平面上所对应的投影位置着色,并用ZBuffer算法实现三维物体的消隐。着色效
3、果不是很理想,曲面上高光部分马赫带效应严重,壶表面不光滑。Figure2Phong光照模型为了改善着色效果,参考了Gouraud平滑着色法,通过差值的方法让曲面上光照强度连续变化。取相邻四个平面的法向量平均值作为曲面上点的法向量,再由Phong计算出该点的光照强度。Gouraud方法采用了双线性差值即通过三个控制点对三角形面进行线性差值,与之不同的是我们采用了仿射变换—用四个控制点对一个四边形面进行线性差值。由于二维平面上四个点到四个点的线性映射是过定的,因此该线性映射通过矩阵求伪逆得到。计算机图形学基础大作业茶壶的造型与渲染Figure1平滑后的茶壶模型由上图可见,通过差值后得到的光照模
4、型效果明显更优。1.曲面的纹理映射基于已经实现的仿射变化,我们能在曲面与纹理的图片之间建立映射关系。为了演示效果,我们在壶身上提上了照片。在纹理映射时,我们遍历视平面上的每个点,然后通过投影变换得到其在纹理图片中的位置,然后将纹理的RGB值作为系数与基本光照值相乘,最终得到该点的亮度。Figure2纹理映射后的茶壶表面计算机图形学基础大作业茶壶的造型与渲染Figure1纹理映射的局部由于是对视平面内的像素进行遍历,所以纹理的分辨率只受原图分辨率的限制。但如果原图分辨率过高,那么相当于隔若干行和若干列对原图进行采样,反而会显得不自然。在后续工作中,可以根据大致的显示比例对原图进行高斯平滑后再
5、进行采样。1.茶壶表面的立体字造型与显示对立体字的构型分三个步骤:首先是基于图片提取出字的轮廓,该部分工作是由王舒鹤同学完成的,对轮廓的提取不仅需要知道轮廓的位置,还需要知道轮廓的方向,即字体在轮廓线的哪一边,尤其是对于有空心部分的字体。轮廓线的方向决定了立体字侧面的内外方向。第二步是对立体字侧面进行造型。将立体字侧面看成一个柱体,在第一步中提取出轮廓后,将其映射到茶壶表面,即得到了这个柱体的底面的坐标。然后将曲面上各控制点沿其法向量拉伸后,即可得到立体字的另一个面的所有点。然后将拉伸前后的点放在一起即得到了立体字的侧面。计算机图形学基础大作业茶壶的造型与渲染第三部是绘制立体字的顶面。将原
6、曲面上各控制点沿法向量拉伸后,在新的曲面上进行纹理映射。需注意的是,只对有字的部分着色。着色完成后,立体字顶面也就绘制好了。Figure1立体字造型由上图可见,立体字整体效果明显,侧面也有光照渐变。但立体字还是有一些小瑕疵。可能原因是没有处理好各种边界和极限情况,导致图片局部的光照强度和深度出现异常数值。1.人脸识别与图像自动裁剪老师提示我可以把照片贴在茶壶上,于是我在纹理部分把它实现了。为了增强趣味性,我加入了这个人脸识别模块,用来自动的识别并裁剪出人脸部分,贴在茶壶上。人脸识别的关键代码参考了MATLABvisiontoolbox的FaceTrackingWebcamExample.m
7、。该人脸识别模块是基于KLT算法提取图片中特征点来实现的人脸的跟踪;通过对比前后两帧中的变换关系,即可估计出目标的位移。最后通过仿射变化将图形旋转并平移,得到脸部图像。计算机图形学基础大作业茶壶的造型与渲染Figure1人脸识别与自动裁剪1.GUI界面的编写为了更方便地展示本小组的工作,我们编写了图形界面。打开potGUI.m文件,按F5运行,出现的是茶壶绘制的主界面。按上下左右方向键能旋转茶壶;按wsad四个键能平移茶
此文档下载收益归作者所有