计算机图形学实验错误及解决方法,计算机图形学实验指导书.doc

a7f4a3f590493a1e451dd952a488fd7c.gif 计算机图形学实验指导书.doc

(10页)

2514ce77eb4b7577c6ec38e41d5cf8d8.gif

本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!

7.9 积分

佛山科学技术学院计算机图形学实验指导书李晓东 编电信学院计算机系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() 获取用户图样设置函数 附录2VC++6.0下多级菜单创建的例子(见CreateMenu.rar) 关 键 词: 实验 指导 图形 计算机

4d91c43bfc72ca913299809b07b4968f.gif  天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。

实验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. 实验总结(含问题分析及解决方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值