王昊恩 3018216021 实验一二1
![preview](https://dl-preview.csdnimg.cn/86308984/0001-899081a86826e466ba997f67b249c3f9_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
这篇实验报告讲述了王昊恩同学在计算机图形学课程中完成的两个实验,分别是线画图元生成算法和裁剪算法。这两个实验都是基于C/C++和MFC框架,使用Microsoft Visual Studio 2019来实现。以下是相关知识点的详细说明: 1. **DDA直线生成算法**: DDA(Digital Differential Analyzer)是一种简单的直线生成算法,适用于所有斜率的直线。它通过计算每个像素步长来逐步逼近直线。在实验中,DDA算法用于自定义起点和终点的直线绘制,直线用红色(255,0,0)表示。在实现时,需要根据起点和终点坐标计算斜率k,并根据斜率是否小于等于1来决定步进方向。如果x轴变化快,就沿着x轴方向逐像素移动,反之则沿着y轴方向移动。 2. **Bresenham直线生成算法**: Bresenham算法是一种更高效的直线绘制方法,尤其适合于斜率介于-1和1之间的直线。它使用错误累积的方式来决定每个像素点是否应该被画上。在这个实验中,Bresenham算法绘制的直线用绿色(0,255,0)表示。与DDA相比,Bresenham算法减少了浮点运算,更适合硬件加速。 3. **Cohen-Sutherland直线裁剪算法**(选做): 这是一种二维直线裁剪算法,用于判断直线段是否在指定的裁剪窗口内。算法通过定义边界框和直线段的象限属性来进行裁剪。实验中,自定义裁剪窗口和待裁剪直线段,裁剪结果以不同颜色显示。 4. **Sutherland-Hodgman多边形裁剪算法**: 这是一种多边形裁剪算法,通过逐边与裁剪窗口边界进行相交测试来裁剪多边形。实验中,采用橡皮筋技术绘制待裁剪多边形,裁剪前后的多边形分别以黑色和青色表示。实现过程中,消息处理程序和事件处理程序的添加、修改是主要挑战。 5. **MFC(Microsoft Foundation Classes)应用**: MFC是微软提供的一套C++类库,用于简化Windows应用程序的开发。在这次实验中,王昊恩同学使用MFC创建单个文档的应用程序,并实现了图形绘制和交互功能。MFC的应用包括消息处理、事件驱动编程等,对于理解和实践Windows编程有重要作用。 6. **橡皮筋技术**: 在图形用户界面中,橡皮筋技术常用于动态绘制和选择图形,如多边形。用户在屏幕上点击并拖动鼠标时,可以看见一个临时的“橡皮筋”形状,松开鼠标后,形状变为最终状态。在此实验中,橡皮筋技术用来方便地绘制待裁剪的多边形。 通过这两个实验,王昊恩同学不仅掌握了基本的计算机图形学算法,还深入了解了MFC应用程序的开发,包括消息处理和事件响应。同时,也暴露了他在编程技巧和算法理解上的不足,需要在未来的学习中不断提升。
![](https://csdnimg.cn/release/download_crawler_static/86308984/bg1.jpg)
![](https://csdnimg.cn/release/download_crawler_static/86308984/bg2.jpg)
剩余16页未读,继续阅读
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![jssecacerts](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/252ec56350504a7faa20f32856735a78_weixin_35735398.jpg!1)
- 粉丝: 20
- 资源: 326
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0