免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机图形学实验设计报告实验二 绘制任意斜率的直线段一、 实验目的 1、掌握任意斜率直线段的中点Bresenham 的扫描转换算法。2、掌握Cline 直线类的设计方法。3、掌握状态栏编辑方法。二、实验要求1、设计CLine 直线类,其数据成员为直线段的起点坐标()和直线段的斜率k,其对应的成员函数为 MoveTo()和LineTo()函数。2、在Cline类中绘制直线段斜率为 -1,0区间类的直线。3、在MoveTo()函数中对应的参数为起始点的坐标,在LineTo()函数中对应的参数为CDC 和直线段的斜率。三、 设计Cline直线类 在CDC类的成员函数中有MoveTo()和LineTo()函数用于绘制任意斜率的直线段,直线的颜色由所选用的画笔指定。 利用任意斜率直线段的中点Bresenham算法,可以分析得出,当直线段的斜率时,对应的初始值为 ,对应的误差项为 ,判别条件为: ,递推公式为 以此条件,即可在 Line.cpp中用循环语句绘制直线。四、程序运行的核心代码1、首先建立一个Cline类,并且在Line.h中写出如下代码:class CLine public: CLine(); virtual CLine();void MoveTo(double x,double y);void LineTo(CDC *,double k);private: double x;double y;double k;;2、在Line.cpp中书写如下代码,并要加头文件 #include Line.hCLine:CLine() CLine:CLine() void CLine:MoveTo(double x0,double y0)this-x=x0;this-y=y0;void CLine:LineTo(CDC *pDC,double k) double d; double x0=0.0,y0=0.0; d=-0.5-k;for(int i=0;i0) y0-; d-=1+k; elsed-=k;x0+;pDC-SetPixel(x0,y0,RGB(255,0,0);3、在sourcefile中TestView.h下的OnDraw 函数中输入如下代码 void CMFCView:OnDraw(CDC* pDC) CMFCDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);CRect rc;GetClientRect(&rc);/ 对坐标原点的映射 pDC-SetMapMode(MM_ANISOTROPIC); pDC-SetWindowExt(rc.Width(),rc.Height(); pDC-SetViewportExt(rc.right,-rc.bottom);pDC-SetViewportOrg(rc.right/2,rc.bottom/2); CLine s;s.MoveTo(1.0,1.0);s.LineTo(pDC,-0.6); 五、程序运行结果及图形界面 六、心得体会 这次实验是通过Cline 类来绘制直线,利用直线段的起点、斜率和两成员函数MoveTo()、LineTo()对直线在斜率为-0.6时,作出了直线的图形。在实验过程中,最先想用书上的方法即直线的两点式来绘制图形,但发现很复杂,在老师的指导下用直线的起点和斜率来绘制图形,代码很简单,效果也较好。更深刻的体会到,在程序设计语言中,应选择最合适的方法来实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院病案质控面试题及答案
- 消防业务管理面试题及答案
- 2026届贵州省毕节市威宁县黑石中学化学高一第一学期期末质量检测模拟试题含解析
- 清远国企面试题及答案
- 企业联名面试题及答案
- 乒乓球比赛面试题及答案
- 福建省建瓯市二中2026届化学高一第一学期期末预测试题含解析
- 云南省盈江县第一高级中学2026届高一化学第一学期期中联考试题含解析
- 江西省安福二中、吉安县三中2026届高二化学第一学期期中复习检测试题含解析
- 2026届辽宁省本溪满族自治区高级中学化学高一上期中质量跟踪监视试题含解析
- 国航校招笔试题目及答案
- 南宁市2026届高中毕业班(高三)10月摸底测试语文试卷(含答案及解析)
- 2025年首诊负责制度
- 眼科疾病课件讲座
- 公司盗窃处置培训
- 酒店安全生产责任书范本
- 布袋除尘器检修与维护操作手册
- 中小企业管理(第五版)课件 第8章 中小企业财务管理与控制
- 第三单元第1课《笔墨之美》(课件)-湘美版美术八年级上册
- 排水管线保护施工方案
- 2024年广西信息职业技术学院公开招聘辅导员笔试题含答案
评论
0/150
提交评论