计算机图形学实验指导书

2019-09-01 23:26

《计算机图形学》

实验指导书

主讲: 陈 卓 (副教授)

教材:计算机图形学原理及算法教程(VC++版)

信息学院计算机系 计算机软件教研室

2008年8月25日

前 言

随着计算机科学与技术的迅猛发展,特别是大规模集成电路和超大规模集成电路技术的飞速发展,计算机已经成为一种高速、费用低的生成图形的有效工具。计算机图形学作为利用计算机生成图形的技术,已经越来越广泛地在各个领域得到应用。随着计算机图形学应用领域的拓宽和应用水平的提高,人们越来越重视对该项技术的研究和利用。当今,计算机图形学已经成为了计算机科学技术领域的一个重要研究方向,并被广泛的应用于科学计算、工程设计、医药、工业、艺术、娱乐业、广告业、教育与培训、商业和政府部门等。

鉴于计算机图形学的重要性和应用的广泛性,计算机科学与技术专业将其设置为专业必选的选修课。它主要是研究用计算机及其图形设备来输入、表示、变换、运算和输出图形的原理、算法及系统。通过对本课程的学习,使学生对计算机图形学有一个完整的了解,并为进行计算机图形学应用和研究打下扎实基础。

为了让学生深入理解各种图形算法和相关理论知识,贯彻学生学习知识是为了应用知识、应用就要追求创新应用的思想和意识,设计了7个实验。通过实验,使学生更加深入的理解计算机图形系统的工作机理和基本图形生成和处理算法。

实现语言为Turbo C 、Visual C++ 6.0、OpenGl,或其它学生掌握的高级语言。

这些实验是对学生的一种多全面训练。它着眼于原理与应用的结合,使学生学会如何把书上学到的知识用于解决实际问题,培养软件工作所需要的动手能力;另一方面,能使书上的知识变“活”,起到深化理解和灵活掌握教学内容的目的。在实验过程中,能够培养学生的自学能力、团队协作能力、解决问题能力、软件开发能力等多种能力。

-- 1

目 录

实验补充 Visual C++图形程序设计 ............................................................................................ 1

一、实验目的 ........................................................................................................................... 1 二、实验任务 ........................................................................................................................... 1 三、基础知识和实验步骤 ....................................................................................................... 1 3.1 Visual C++ 6.0应用程序开发方法 ............................................................................. 1

3.1.1 Visual C++的集成开发环境 .............................................................................. 1 3.1.2 应用程序工程的建立方法 ................................................................................. 2 3.1.3 输入源程序进行程序设计 ................................................................................. 5 3.2 图形设备接口和图形程序设计 ................................................................................... 7

3.2.1 图形设备接口简介 ............................................................................................. 7 3.2.2 绘制基本图形 ..................................................................................................... 8 3.2.3 画笔与画刷 ....................................................................................................... 12 3.2.4 文本显示 ........................................................................................................... 16 3.3 鼠标编程 ....................................................................................................................... 17

3.3.1 鼠标消息处理 ................................................................................................... 17 3.3.2 捕捉鼠标 ........................................................................................................... 18 3.3.3 鼠标编程综合示例 ........................................................................................... 18 3.4 菜单程序设计 ............................................................................................................... 23

3.4.1 菜单编辑器 ....................................................................................................... 24 3.4.2 菜单消息响应 ................................................................................................... 26 3.4.3 综合示例 ........................................................................................................... 26 四、实验总结 ......................................................................................................................... 29 实验一 基本图形的生成技术 ................................................................................................... 30

A.直线生成算法 ................................................................................................................... 30 一、实验目的 ......................................................................................................................... 30 二、实验任务 ......................................................................................................................... 30 三、基本知识和实验步骤 ..................................................................................................... 30

任务一:实现三种画线程序 ......................................................................................... 30 任务二:放大10倍后,算法演示程序 ....................................................................... 32 任务三:加入鼠标功能,实现交互式画直线 ............................................................. 34 四、实验结果和分析 ............................................................................................................. 36 五、实验总结 ......................................................................................................................... 36 B.圆、椭圆生成算法 ........................................................................................................... 37 一、实验目的 ......................................................................................................................... 37 二、实验任务 ......................................................................................................................... 37 三、实验内容 ......................................................................................................................... 37

任务一:中点画圆法的扫描转换算法 ......................................................................... 38 任务二:添加鼠标程序,实现交互式画圆 ................................................................. 40 任务三:编写中点画椭圆法的扫描转换程序 ............................................................. 43 任务四:添加鼠标程序,实现交互式画椭圆 ............................................................. 45

-- 2

四、实验结果、分析和总结 ................................................................................................. 47 实验二 基本图形处理技术 ..................................................................................................... 48

A.区域填充算法 ................................................................................................................... 48 一、实验目的 ......................................................................................................................... 48 二、实验任务 ......................................................................................................................... 48 三、实验步骤 ......................................................................................................................... 48 四、实验结果、分析和总结 ................................................................................................. 52 B.线段裁剪算法 ................................................................................................................... 53 一、实验目的 ......................................................................................................................... 53 二、实验任务 ......................................................................................................................... 53 三、实验步骤 ......................................................................................................................... 53

任务一:编码裁剪算法的程序设计 ............................................................................. 54 任务二:用鼠标实现交互式裁剪效果 ......................................................................... 56 四、实验结果和总结 ............................................................................................................. 60 实验三 二维几何变换 ................................................................................................................. 61

一、实验目的 ......................................................................................................................... 61 二、实验任务 ......................................................................................................................... 61 三、实验内容和实验步骤 ..................................................................................................... 61

任务一:根据数学模型,编写几何变换程序 ............................................................. 61 任务二:利用鼠标实现交互式移动图形 ..................................................................... 64 四、实验分析和总结 ............................................................................................................. 66 实验四 曲线与曲面 ................................................................................................................. 67

一、实验目的 ......................................................................................................................... 67 二、实验任务 ......................................................................................................................... 67 三、实验内容和实验步骤 ..................................................................................................... 67

任务一:抛物线程序设计 ............................................................................................. 67 任务二:Hermite 曲线程序设计 ................................................................................. 68 任务三:Bezier曲线的算法实现 ................................................................................ 69 任务四:三次B样条曲线的算法实现 ......................................................................... 74

参考文献......................................................................................................................................... 76 附录A 实验报告规范 ................................................................................................................... 77

-- 3

实验补充 Visual C++图形程序设计

一、实验目的

Visual C++是在Microsoft C的基础上发展而来的,随着计算机软、硬件技术的快速发展,如今Visual C++已成为集编辑、编译、运行、调试于一体功能强大的集成编程环境。本章以Visual C++ 6.0为对象,主要介绍Visual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程以及菜单设计等基础,目的是通过对Visual C++的学习,掌握Visual C++图形程序设计的方法,为计算机图形学原理部分的算法实现提供程序工具和方法。

二、实验任务(需要课外学时8学时)

1. 学习Visual C++图形程序设计的方法;

2. 掌握Visual C++集成编成环境的使用、图形设备接口和常用图形程序设计、鼠标编程、橡皮筋交互技术、画刷与画笔以及菜单设计等;

三、基础知识和实验步骤

3.1 Visual C++ 6.0应用程序开发方法

介绍Visual C++ 6.0集成开发环境,以一个简单的实例介绍利用Visual C++应用程序工程建立方法和程序设计框架。

3.1.1 Visual C++的集成开发环境

从开始菜单中启动Visual C++ 6.0,进入开发集成环境。打开一个项目后,可以看到Visual C++ 6.0的开发环境由标题栏、工具栏、工作区窗口、源代码编辑窗口、输出窗口和状态栏组成,见图3.1所示。

标题栏用于显示应用程序名和所打开的文件名,标题栏的颜色可以表明对应窗口是否被激活。菜单栏包括文件、编辑、显示、插入、工程、编译、工具、窗口和帮助九项主菜单,包含了从源代码的编辑、界面设计、程序调试和编译运行在内的所有功能。工具栏列出了常用的菜单命令功能和对象方法。工具栏的下面是两个窗口,一个是工作区窗口,用于列出工程中的各种对象,一个是源代码编辑窗口,用于各个对象的程序设计。输出窗口显示项目建立过程中所产生的各种信息。屏幕底端是状态栏,它给出当前操作或所选择命令的提示信息。

-- 1


计算机图形学实验指导书.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:灾害地质学实习 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: