欢迎来到天天文库
浏览记录
ID:16265978
大小:30.50 KB
页数:4页
时间:2018-08-08
《计算机图形学实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、计算机图形学实验报告SA03006073魏思介绍:所有实验用一个MFC程序完成。组合成一个类似于画图程序。程序左边面板上有所有的按钮,要完成功能只要点击相应按钮然后在客户区操作就可以了。实验一、图元的生成实验要求:能够生成直线、圆、椭圆、可以按照给定的边界顶点完成区域填充。实验内容:直线生成:使用Bresenhan方法绘制直线。使用介绍:鼠标点击左边按钮区域的直线按钮,然后在右边客户区域内点下鼠标左键,拖动鼠标倒你想要绘制的地方,就可以形成一条直线。这个直线是用MFC提供的CDC类的LinetTo()函数绘制的。然后开始自己的直线生成算法来重新绘制,使用红色的
2、线条来绘制直线,系统提供的直线函数是用来做参考的。椭圆和圆的生成:使用Bresenhan方法绘制椭圆和圆。使用介绍:和直线基本类似,鼠标点击按钮区域的椭圆或者是圆按钮,然后在右边客户区域内点下鼠标左键,拖动鼠标倒你想要绘制的地方,就可以形成一个圆或者是椭圆。这个圆或者是椭圆是使用MFC提供的CDC类的Ellipse()函数绘制的。然后开始自己的椭圆和圆生成算法来重新绘制,使用红色的线条来绘制,系统提供的椭圆或者是圆函数是用来做参考的。区域填充:使用边扫描填充法完成区域填充使用介绍:鼠标点击按钮区域的正方形按钮,会弹出一个输入对话框。在这个对话框里,输入包含你要
3、求填充的区域的线条坐标。格式如下(以正方形为例):(0,0),(100,0)(100,0),(100,100)(100,100),(0,100)(0,100),(0,0)点击确定以后,首先根据输入的线条坐标绘制出区域的边界。然后使用填充算法来填充区域。为了方便观察,采用了延时100毫秒显示下一个点。所以有缓慢的感觉,不是算法的问题。实验二、样条曲线的生成实验要求:能够生成Bezier曲线、B-样条曲线实验内容:Bezier曲线生成:鼠标点击按钮区域的Bezier按钮,弹出一个对话框。要给给出绘制Bezier曲线的控制多边形的顶点信息。比如要绘制一个四顶点的三阶
4、Bezier曲线。以正方形为例:输入如下:(20,20)(200,20)(200,200)(20,200)程序首先根据输入的顶点绘制出控制多边形。然后绘制Bezier曲线。由于我采用的是N-1阶Bezier曲线。所以当控制多边形点数不等于4时,给出的Bezier曲线(红色线条)与系统提供的Bezier曲线(黑色线条)不一致,因为系统提供Bezier曲线的不管控制多边形有多少个顶点,总是3阶的。B-样条曲线生成:鼠标点击按钮区域的Spline按钮,弹出一个对话框。要给给出绘制B-样条曲线的控制多边形的顶点信息和B-样条曲线的阶数。比如要绘制一个四顶点的三阶B-样
5、条曲线。以正方形为例:输入如下:(20,20)(200,20)(200,200)(20,200)程序首先根据输入的顶点绘制出控制多边形。然后绘制B-样条曲线。实验三、分形图形的生成实验要求:生成Koch曲线、Mandelbrot集和Julia集、蕨类植物实验内容:生成分形Mandelbrot集:鼠标点击按钮区域的Bezier按钮下方的图标为蓝色大圆(左边有一个突起)的按钮。弹出一个对话框要求输入分形Mandelbrot集的启动参数Zc,Z0已设置为0+0i.不需变动。输入的启动参数应该合适,也就是说在此参数下的Mandelbrot集要存在。然后点击确定。右边客
6、户区便会绘制分形Mandelbrot集图形。生成分形Julia集:Mandelbrot集按钮右边的就是Julia集按钮,点击此按钮,弹出一个对话框要求输入分形Julia集的启动参数Zc,Z0已设置为0+0i.不需变动。输入的启动参数应该合适,也就是说在此参数下的Julia集要存在。然后点击确定。右边客户区便会绘制分形Julia集图形。生成分形Koch曲线:点击按钮区域的图标为一个带毛刺的曲线按钮,然后移动鼠标到客户区域,点下鼠标左键,不要放开,拖动鼠标到另外一点,这时,一条直线跟着变动,这条直线就是Koch曲线的基线,然后放开鼠标。程序开始绘制Koch曲线。生
7、成分形Sierpenski三角形:点击按钮区域的图标为一个空心的三角形按钮,然后移动鼠标到客户区域,点下鼠标左键,不要放开,拖动鼠标到另外一点,这时,一个三角形跟着变动,这个三角形就是Sierpenski三角形最外面的三角形。放开鼠标,程序开始绘制Sierpenski三角形.附加:生成圆分形图形:`点击按钮区域的图标为大圆带三个小圆的按钮。这是开始绘制向外面扩展的自相似的圆形分形图形。实验四、真实感图形的生成实验要求:显示一个具有真实感场景的图形,几何造型自定义,包括消隐、镜面反射、纹理效果。实验内容:本实验比较复杂,本来打算左一个可以随鼠标移动的空间立体图行
8、。但是发现在提供了消隐,反射,纹理效果
此文档下载收益归作者所有