


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电脑图形学实验指导实验一、直线的扫描转换算法实验实验目的掌握中点Bresenham直线扫描转换算法的思想实验环境实验内容问题描述:给定两个点的坐标Po(xo,yo),Pi(xi,yi),使用中点Bresenham直线扫描转换算法画出连接两点的直线。中点Bresenham直线扫描转换算法原理见课本。实验根本步骤首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。es PrnjfifrT<?Orhi?r ATI COM A|)|)Wlz»rdCluster Resource lype WisardlCustom AppSiVizariJDatabase P
2、rojectDcvStudiu Addiri WizardL.xteinded Stored Proc V/izardIS API 匚 xtcinsio n WizardMakefileMFC ActiveX ControlWizard(dtl)umiry Prujeul "WinJl! Application其次、使用中点Bresenham直线扫描转换算法实现自己的画线函数,函数原型可表示如下:void DrawLine(CDC *pDC, int p0x, int p0y, int p1x, int p1y);在函数中,可通过调用 CDC成员函数SetPixel来画出扫描转换过程
3、中的每个点。COLORREF SetPixel(i nt x, i nt y, COLORREF crColor);再次、找到文档视图程序框架视图类的OnDraw成员函数,调用DrawLine函数画出不同斜率情况的直线,如以下图:void CDravLlneUieu:DnDrau(CDC* pQC)CTestcoodtr arisDoc* pDoc = GetDocunent ();ASSERT_UALID(pDoc);n TODO: add drau code for native data herpjDraiJLine(pDC, 10,1D, 2S0, 100);DrauLine(pDC,
4、 10,200, 2D0 160);DrLin&(pDCp 10D, 200):DrLinfpDC, 10,200, 1D0, 200);最后、调试程序直至正确画出直线实验要求1写出中点Bresenham直线扫描转换算法的程序并在 vc6下编译和调试通过,画出具 有各种斜率范围的直线仅使用GDI函数SetPixel函数。2按规定的实验格式写出实验报告,包含实验代码自己写的画线函数,结果截图实验二、多边形填充算法实验实验目的掌握边标志算 法或有效边表算法进行 多边形填充的根本设计思想。实验环境实验内容问题描述:给定多边形的顶点的坐标 Po(xo,yo), Pi(xi,yi), P2(X2
5、,y2), P3(X3,y3), P4(X4,y4) 使用边标志算法或有效边表算法进行多边形填充。边标志算法或有效边表算法原理见课本。实验根本步骤首先、使用MFC AppWizard(exe)向导生成一个单文档视图程序框架。其次、 实现边标志算法或有效边表算法函数,如下:void FillPolygon(CDC *pDC, int px, int py, int ptnumb);px:该数组用来表示每个顶点的X坐标py :该数组用来表示每个顶点的 y 坐标ptnumb:表示顶点个数注意实现函数 FillPolygon 可以直接通过窗口的 DC 设备描述符来进行多边形填充, 不需要使用帧缓冲存储
6、。边标志算法首先用画线函数勾画出多边形 ,再针对每条扫描线 , 从左至右依次判断当前像素的颜色是否勾画的边界色 , 是就开始填充后面的像素直至再碰 到边界像素。注意对顶点要做特殊处理。通过调用GDI画点函数SetPixel来画出填充过程中的每个点。需要画线可以使用CDC 的画线函数MoveTo和LineTo进行绘制,也可以使用实验一实现的画直线函数。CPoint MoveTo(int x, int y );BOOL LineTo(int x, int y );实现边标志算法算法需要获取某个点的当前颜色值,可以使用CDC勺成员函数COLORREF GetPixel(int x, int y );
7、再次、 找到文档视图程序框架视图类的 OnDraw 成员函数,调用 FillPolygon 函数画出 填充的多边形,如下:void CTestView:OnDraw(CDC* pDC)CTestcoodtransDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);/ TODO: add draw code for native data here/ 绘制之前先把整个窗口涂上背景色 ( 白色) 以便于下面的填充RECT Rt;GetClientRect(&Rt);pDC->FillSolidRect(&Rt, RGB(255,255,255);int ptx = 10, 100, 200, 150, 80;int pty = 10, 50, 80, 120, 70; FillPol
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公司后勤管理的年度工作总结范文(4篇)
- 2025年中国手动扭矩扳手市场调查研究报告
- 2025年中国快速门电机市场调查研究报告
- 2025年基本公共卫生服务工作计划(3篇)
- 2025版高中化学课时作业4原子核外电子的排布元素周期律含解析新人教版必修2
- 小学校务办公室工作总结(3篇)
- 2025年小学语文备考试题及答案
- 2024年宠物营养师资格考试的常见问题与试题答案
- 提高2024年二手车评估师考试应对能力的策略与试题答案
- 看奥运的观后感参考6篇
- GB/T 3292.1-2008纺织品纱线条干不匀试验方法第1部分:电容法
- GB 16246-1996车间空气中硫酸二甲酯卫生标准
- 驱动桥毕业设计
- 2023机关公文写作与处理PPT模板
- 基坑支护、降水及土方开挖专项施工方案
- 幼儿数字1-100字帖练习
- 细胞生物学-7细胞信号转导课件
- 搅拌站安全培训试卷
- 茶叶市场营销讲义
- 走进中国传统节日 详细版课件
- 乙肝两对半ppt课件
评论
0/150
提交评论