- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PAGE
PAGE 7
实验一 线和圆的绘制
专业班级
学 号
姓 名
实验学时
2
实验类型
验证性
实验地点
实验时间
指导老师
实验成绩
年 月 日
一、实验目的:
1.掌握Bresenham画线和画圆算法。
2.掌握将图形学算法改写成程序的方法。
二、实验内容:
1.利用Bresenham画线算法画线,要求起点和终点由用户确定;
2.利用Bresenham画圆算法画圆,要求圆心和半径由用户确定。
三、实验要求:
1.完成程序的编写与验证;
2.写出实验报告,报告中只体现OnDraw中自己完成的部分,要求对程序结构做出详细的解释。
四、编程提示:
1. 在Visual C++中首先建立一个单文档MFC AppWizard工程,绘图功能在View类的OnDraw()函数中实现;
2.教材算法中的drawpixel(x,y,color)函数在OnDraw函数中对应pDC-SetPixel(POINT,COLOR);
3.Bresenham画圆算法是基于用户坐标系(二维笛卡尔坐标系),而在屏幕上显示的象素坐标是基于设备坐标系。如图1.1,设用户坐标系的原点O对应于设备坐标系的(xc,yc)。则x1=xc+x,y1=yc-y。
图1.1 用户坐标系与设备坐标系
4.Bresenham画圆算法只画出了位于第一象限的4个分圆,要画出整个圆,必须对第一象限的点作对称变换。
五、实验步骤与结果:(由学生按照实验内容完成)
六、总结
实验二 图形裁剪
专业班级
学 号
姓 名
实验学时
2
实验类型
验证性
实验地点
实验时间
指导老师
实验成绩
年 月 日
一、实验目的:
1.掌握Sutherland直线段裁减算法。
2.掌握屏幕区域编码方法。
实验内容:
生成并显示窗口,要求程序中定义窗口左上和右下点的坐标值。绘制裁剪后的直线段,要求程序中定义直线段的端点坐标。
实验要求:
1.为View类添加相应的成员函数;
2.用不同的颜色绘制出窗口和裁剪后的直线段;
3.写出实验报告。
四、编程提示:
1. 可使用pDC的MoveTo和LineTo函数绘制窗口和裁剪后的直线段,例如绘制(x0,y0)至(x1,y1)的直线段:
POINT pix;
pix.x=x0;
pix.y=y0;
pDC-MoveTo(pix);
pix.x=x1;
pix.y=y1;
pDC-LineTo(pix);
2.修改绘制线条颜色可参考以下代码:
CPen pen(PS_SOLID,1,RGB(255,0,0));//画笔改为红色
CPen *pOldpen=pDC-SelectObject(pen);//设置画笔并保存原画笔
POINT pix;
pix.x=50;
pix.y=50;
pDC-MoveTo(pix);
pix.x=400;
pix.y=300;
pDC-LineTo(pix);
pDC-SelectObject(pOldpen);//恢复原画笔
五、实验步骤与结果:(由学生按照实验内容完成)
六、总结
实验三 图形变换
专业班级
学 号
姓 名
实验学时
2
实验类型
验证性
实验地点
实验时间
指导老师
实验成绩
年 月 日
一、实验目的:
1.掌握变换矩阵定义方法。
2.掌握图形变换计算方法。
实验内容:
1.自定义一个几何图形并进行显示;
2.定义一个绕任意点旋转的矩阵;
3.计算元原几何图形经过改变换后的控制点;
4.绘制出变换后的几何图形。
实验要求:
1.原图形和变换后的图形都能在窗口中显示;
2.自己编写出变换函数;
3.写出实验报告。
四、编程提示:
1. 绕任意点()逆时针旋转的变换矩阵为:
五、实验步骤与结果:(由学生按照实验内容完成)
六、总结
实验四 自由曲线的绘制
专业班级
学 号
姓 名
实验学时
4
实验类型
验证性
实验地点
实验时间
指导老师
实验成绩
年 月 日
一、实验目的:
1.掌握Bezier曲线的定义方法;
2.掌握生成Bezier曲线型值点的Casteljau算法。
实验内容:
1.自定义一个任意阶Bezier曲线并显示其控制多边形;
2.使用Casteljau算法计算出该Bezier曲线的若干
您可能关注的文档
- 四川省广安、眉山、内江、遂宁2019届高三第一次诊断性考试理科综合试题(化学部分).doc
- 四川省广安、眉山、内江、遂宁2019届高三第一次诊断性考试理科综合试题(物理部分).doc
- 四川省华蓥中学高三第一次月考化学考试试题.doc
- 四川省简阳市阳安中学2018-2019年高一上学期期中检测化学试题+Word版含答案.doc
- 四川省简阳市阳安中学2018-2019年高一上学期期中检测历史试题+Word版含答案.doc
- 四川省简阳市阳安中学2018-2019年高一上学期期中检测英语试题+Word版缺答案.doc
- 四川省简阳市阳安中学2018-2019年高一上学期期中检测政治试题+Word版含答案.doc
- 四川省泸州泸县第五中学2018-2019年高二上学期期中考试理综-化学试题.doc
- 四川省攀枝花市第十二中学2018-2019年高一上学期半期调研检测政治试题+Word版含答案.doc
- 四川省商品房认购书示范文本.doc
文档评论(0)