【精品】计算机图形学综合实习报告

【精品】计算机图形学综合实习报告

ID:43444047

大小:586.01 KB

页数:15页

时间:2019-10-02

【精品】计算机图形学综合实习报告_第1页
【精品】计算机图形学综合实习报告_第2页
【精品】计算机图形学综合实习报告_第3页
【精品】计算机图形学综合实习报告_第4页
【精品】计算机图形学综合实习报告_第5页
资源描述:

《【精品】计算机图形学综合实习报告》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、计算机图形学综合实习报告班级:学号:姓名:一、实习目的和意义巩固在计算机图形学课上学习的内容,在理解的基础上将算法编程实现,加深我们对所学知识的掌握,为之后的课程学习和实际应用打下牢固的基础,同时提高我们的编程水平并了解绘图软件的基本原理。二、实习原理和方法1、画直线一个直线段由两个端点唯一确定,一个直线段常给出两个端点参数(xO,yO)-(x1,y1),它们都是整数。对于一个直线段(xO5yO)-(x1,y1),当x1-x0>y1-y0>0,即起点(xO,yO)在左下边,终点(x1,y1)在右上

2、边,x方向增加1,则y方向增加m二(yl-yO)/(xl-x0)o根据DDA算法:起始条件:(xo,yo)=(xO,yO),m=(yl-yO)/(xl-xO)递推关系:兀+j=Xi+1)7+i=yi+myi+“=int(0.5+”+/终止条件:Xi>=xlc2>画多边形用鼠标左键在屏幕上指定端点,调用画直线函数绘出多边形。3、画圆圆的Bresenham生成方法:初始条件,A:(O,R),B:(1,R),C:(1,R-1),d0=(xb2+yb2-R2)+(xc2+yc2-R2)=3-2R递推公式y

3、>+rd,+4Xj+6d,<=04+4*・%)+10,d,>0终止条件:Xj>=yi4.画字符将输入对话框的字符赋给对话框类的成员变量,然后在屏幕上用Testout函数输出。5、多边形填充边缘填充实质是以边缘与扫描线的交点为起点以“异或”的方式向右边最远点画点。如果一个像素经过偶数次异或画点,将还原为背景颜色;而经过奇数次异或画点的像素将显示画点颜色与背景颜色经过异或运算混合的颜色。所有的边缘都处理完后,多边形内部像素肯定经过了奇数次异或画点,因而显示画点颜色与背景颜色界或运算混合颜色;多边形外部

4、像素肯定经过了偶数次界或画点,因而还原为背景颜色。种子填充的原理是从堆栈屮取出一粒表示区域内部的种子,从种子点出发,沿扫描线分别向左向右边填充边寻找边界点;通过左右两边的边界点确定扫描线上的填充区域范围;根据该范围在上下相邻的两条扫描线上寻找新的未填充区域,每个区域中选一粒种子压入堆栈。Cohen-Sutherland算法将窗口平面划分成九个区域,每个区域给予不同的编码。根据线段端点落入不同的区域,给予线段端点不同的编码。基于线段端点编码,算法给出了一整套裁剪的方法。在裁剪过程中,窗口的参数需要多

5、次使用,线段端点需要多次编码,编码的计算需要多次与某些常数相“与”。7、几何变换先在屏幕上输出一个图形,然后用鼠标画出平移的方向与距离,再根据平移的方向与距离算出平移后图形的位置,输出图形。对称的原理与平移相似。先在屏幕上输岀一个图形,用鼠标画出对称轴,算出其对称图形,输出图形。三、实习步骤与过程创建一个MFC单文档程序,在View.h中定义几个全局变量MenuID.PressNum,为程序添加菜单和消息响应函数。具体步骤如下:1、画直线为主窗口添加弹出菜单“图形生成”并在其下添加菜单“直线”,创

6、建一个对话框“线型设置”(如下图),在对话框中添加四个编辑框用来指定颜色和线宽。为菜单添加消息响应函数,在函数屮令全局变量MenuID=l,并调用对话框“线型设置”。在鼠标响应框架中加入直线的取点响应,使在画直线时单击左键确定直线起点再次单击确定终点。最后在Doc.cpp中定义画直线函数的实现,我是用的是DDA法画直线。2、画多边形为主窗口在弹出菜单“图形生成”下添加菜单“多边形”,为菜单添加消息响应函数,在函数中令全局变量MenuID=2,并调用对话框“线型设置”。在鼠标响应框架中加入多边形的取

7、点响应,使在画多边形时单击左键确定多边形的起点单击右键闭合,最后在Doc.cpp中定义画多边形函数的实现。3、画圆为主窗口在弹出菜单“图形生成”下添加菜单“圆”,为菜单添加消息响应函数,在函数中令全局变量MenuID=3,并调用对话框“线型设置”。在鼠标响应框架中加入圆的取点响应,使在画圆时单击左键确定圆心,再次单击确定半径画出圆,最后在Doc.cpp屮定义画圆函数的实现,我用的是Bresenham算法。4.画字符为主窗口在弹出菜单“图形生成”下添加弹出菜单“字符”,在其下添加两个菜单“设置字体”

8、和“输入字符”。创建对话框“输入字符”(如下图),在对话框中添加一个编辑框用来输入字符。为菜单“设置字体”添加消息响应函数,在函数中调用系统自带的“字体”的对话框;为菜单“输入字符”添加消息响应函数,在函数中令全局变量MenuID=4并调用“输入字符”对话框。在鼠标响应框架屮加入画字符的取点响应,使在单击鼠标左键时就会在相应的位置出现输入在对话框中的字符。5.多边形填充为主窗口添加弹出菜单“图形显示”并在其下添加菜单“扫描线填充”“边缘填充”和“种子填充”。创建对话框“设置填充颜色

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。