为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

计算机图形学实验指导书1

2019-05-26 14页 doc 30KB 5阅读

用户头像

is_321575

暂无简介

举报
计算机图形学实验指导书1佛山科学技术学院计算机图形学实验指导书 李晓东编 电信学院计算机系 2011年11月 实验1 直线段的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1.通过实验,进一步理解直线段扫描转换的DDA算法、中点bresenham算法及 bresenham算法的基本原理; 2.掌握以上算法生成直线段的基本过程; 3.通过编程,会在C/C++环境下完成用DDA算法、中点bresenham算法及 bresenham算法对任意直线段的扫描转换。 实验设备及实验环境 计算机(每人一台) VC++6....
计算机图形学实验指导书1
佛山科学技术学院计算机图形学实验指导书 李晓东编 电信学院计算机系 2011年11月 实验1 直线段的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1.通过实验,进一步理解直线段扫描转换的DDA算法、中点bresenham算法及 bresenham算法的基本原理; 2.掌握以上算法生成直线段的基本过程; 3.通过编程,会在C/C++环境下完成用DDA算法、中点bresenham算法及 bresenham算法对任意直线段的扫描转换。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用DDA算法中点bresenham算法及bresenham算法实现任意给定两点的直线段的绘制(直线宽度和线型可自定)。 实验步骤: 1、复习有关算法的基本原理,明确实验目的和要求; 2、依据算法思想,绘制程序流程图; 3、设计程序界面,要求操作方便; 4、用C/C++语言编写源程序并调试、执行; 5、分析实验结果 6、对程序设计过程中出现的问进行分析与总结; 7、打印源程序或把源程序以文件的形式提交; 8、按要求完成实验报告。 实验报告要求: 1、各种算法的基本原理; 2、各算法的流程图 3、实验结果及分析(比较三种算法的特点,界面插图并注明实验条件) 4、实验总结(含问题分析及解决方法) 实验2 圆的扫描转换 实验类型:设计性 实验类别:专业实验 实验目的 1、通过实验,进一步理解和掌握中点bresenham画圆算法的基本原理; 2、掌握以上算法生成圆和圆弧的基本过程; 3、掌握在C/C++环境下完成用中点bresenham算法圆或圆弧的绘制方法。实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用中点(Besenham)算法实现圆或圆弧的绘制。 实验步骤 1.复习有关圆的生成算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图(注意圆弧生成时的输入条件); 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行; 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较圆与圆弧生成算法的不同) 4.实验总结(含问题分析及解决方法) 实验3 多边形的区域填充 学时:2 实验类型:设计性 实验类别:专业实验 实验目的 1.通过实验,进一步理解和掌握几种常用多边形填充算法的基本原理 2.掌握多边形区域填充算法的基本过程 3.掌握在C/C++环境下用多边形填充算法编程实现指定多边形的填充。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用种子填充算法和扫描线填充算法等任意两种算法实现指定多边形的区域填充。实验步骤 1.复习有关算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图(指定填充多边形); 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行(最好能用动画显示填充过程); 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较两种算法的不同) 4.实验总结(含问题分析及解决方法) 实验4 图形的裁剪--Cohen_Sutherland 裁剪算法 实验类型:设计性 实验类别:专业实验 实验目的 1、通过实验,进一步理解和掌握Cohen_Sutherland 裁剪算法的基本原理; 2、掌握用Cohen_Sutherland 裁剪算法的基本过程; 3、掌握在C/C++环境下用Cohen_Sutherland 算法编程实现用矩形窗口对直线的裁 剪。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用Cohen_Sutherland 算法编程实现用矩形窗口对直线的裁剪。 实验步骤 1.复习有关算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图(裁剪窗口固定); 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行(最好能显示裁剪动画); 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较圆与圆弧生成算法的不同) 4.实验总结(含问题分析及解决方法) 实验5 图形的裁剪--梁友栋裁剪算法 实验类型:设计性 实验类别:专业实验 实验目的 1.通过实验,进一步理解和掌握梁友栋裁剪算法的基本原理 2.掌握用梁友栋裁剪算法裁减直线的基本过程 3.掌握在C/C++环境下完成用梁友栋裁剪算法编程实现用矩形窗口对直线的裁 剪。 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境 实验学时:2学时 实验内容 用Cohen_Sutherland 算法编程实现用矩形窗口对直线的裁剪。 实验步骤 1.复习有关算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图(裁剪窗口固定); 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行(最好能显示裁剪动画); 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较圆与圆弧生成算法的不同) 4.实验总结(含问题分析及解决方法) 实验6 几何图形变换实验 实验类型:设计性 实验类别:专业实验 实验目的 1、通过实验,掌握计算机图形变换的基本知识、原理; 2、掌握二维和三维图形几何变换; 3、通过使用VC++编程环境实现指定图形的常见几何变换; 实验设备及实验环境 计算机(每人一台) VC++6.0或其他C/C++语言程序设计环境(可使用OPENGL) 实验学时:2学时 实验内容 1.在VC++编程环境下建立平面几何图形实现其常见几何变换; 2.在VC++编程环境下建立三维立方体,实现其几何变换,包括缩放\平移\旋转. 实验步骤 1.复习有关算法,明确实验目的和要求; 2.依据算法思想,绘制程序流程图; 3.设计程序界面,要求操作方便; 4.用C/C++语言编写源程序并调试、执行(任意指定一个图形); 5.分析实验结果 6.对程序设计过程中出现的问题进行分析与总结; 7.打印源程序或把源程序以文件的形式提交; 8.按格式要求完成实验报告。 实验报告要求: 1.分析算法的工作原理; 2.画出算法的流程图 3.实验结果及分析(比较圆与圆弧生成算法的不同) 4.实验总结(含问题分析及解决方法) 附录1: 在TC下构建图形环境的代码及例子: /* display.h : 初始化图形系统函数*/ #include "stdio.h" #include "stdlib.h" #include "graphics.h" #define ESC 0x1b /* INITIALIZE: Initializes the graphics system and reports */ /* any errors which occured. */ void Initialize(void) { int GraphDriver; /* The Graphics device driver */ int GraphMode; /* The Graphics mode value */ int ErrorCode; /* Reports any graphics errors */ GraphDriver = DETECT; /* Request auto-detection */ initgraph( &GraphDriver, &GraphMode, "" ); ErrorCode = graphresult(); /* Read result of initialization*/ if( ErrorCode != grOk ){ /* Error occured during init */ printf(" Graphics System Error: %s\n", grapherrormsg( ErrorCode ) ); exit(1); } } 以上Initialize函数就完成了图形环境的建立,以下就可以使用TC下的绘图函数完成绘图。 常用的TC绘图函数有: 图形和图像函数包含在graphics.h里面 (一) 像素函数 1、putpixel() 画像素点函数(注意:与win32不同) 2、getpixel()返回像素色函数 (二) 直线和线型函数 1. line() 画线函数 2. lineto() 画线函数 3. linerel() 相对画线函数 4. setlinestyle() 设置线型函数 5. getlinesettings() 获取线型设置函数 6. setwritemode() 设置画线模式函数 (三)、多边形函数 7. rectangle() 画矩形函数 8. bar() 画条函数 9. bar3d() 画条块函数 10. drawpoly() 画多边形函数 (四)、圆、弧和曲线函数 1. getaspectratio()获取纵横比函数 2. circle()画圆函数 3. arc() 画圆弧函数 4. ellipse()画椭圆弧函数 5. fillellipse() 画椭圆区函数 6. pieslice() 画扇区函数 7. sector() 画椭圆扇区函数 8. getarccoords()获取圆弧坐标函数 (五)、填充函数 1. setfillstyle() 设置填充图样和颜色函数 2. setfillpattern() 设置用户图样函数 3 floodfill() 填充闭域函数 4. fillpoly() 填充多边形函数 5. getfillsettings() 获取填充设置函数 6. getfillpattern() 获取用户图样设置函数 附录2 VC++6.0下多级菜单创建的例子(见CreateMenu.rar)
/
本文档为【计算机图形学实验指导书1】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索