计算机图形学实验与课程设计

更新时间:2023-09-24 12:09:01 阅读量: IT计算机 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《计算机图形学》

实验与课程设计

张素智 编著

郑州轻工业学院计算机与通信工程学院

2004年12月1日

-- 1

目 录

前言

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

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

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

3.2.1 图形设备接口简介 ......................................................................................... 10 3.2.2 绘制基本图形 ................................................................................................. 11 3.2.3 画笔与画刷 ................................................................................................... 15 3.2.4 文本显示 ......................................................................................................... 19 3.3 鼠标编程 ....................................................................................................................... 20

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

3.4.1 菜单编辑器 ....................................................................................................... 27 3.4.2 菜单消息响应 ................................................................................................... 29 3.4.3 综合示例 ........................................................................................................... 29 四、实验总结 ......................................................................................................................... 32 实验二 基本图形(元)生成技术(一) ............................................................................... 33

一、实验目的 ......................................................................................................................... 33 二、实验任务 ......................................................................................................................... 33 三、基本知识和实验步骤 ..................................................................................................... 33

任务一:实现DDA画线程序 ......................................................................................... 33 任务二、放大10倍后,算法演示程序 ....................................................................... 34 任务三、加入鼠标功能,实现交互式画直线 ............................................................. 36 四、实验结果和分析 ............................................................................................................. 38 五、实验总结 ......................................................................................................................... 38 实验三 基本图形(元)生成技术(二) ............................................................................... 39

一、实验目的 ......................................................................................................................... 39 二、实验任务 ......................................................................................................................... 39 三、实验内容 ......................................................................................................................... 39

任务一:中点画圆法的扫描转换算法 ......................................................................... 39 任务二:添加鼠标程序,实现交互式画圆 ................................................................. 41

-- 2

任务三:编写中点画椭圆法的扫描转换程序 ............................................................. 43 任务四:添加鼠标程序,实现交互式画椭圆 ............................................................. 45 四、实验结果、分析和总结 ................................................................................................. 46 实验四 基本图形处理技术(一) ......................................................................................... 47

一、实验目的 ......................................................................................................................... 47 二、实验任务 ......................................................................................................................... 47 三、实验步骤 ......................................................................................................................... 47 四、实验结果、分析和总结 ................................................................................................. 50 实验五 基本图形处理技术(二) ........................................................................................... 51

一、实验目的 ......................................................................................................................... 51 二、实验任务 ......................................................................................................................... 51 三、实验步骤 ......................................................................................................................... 51

任务一:编码裁剪算法的程序设计 ............................................................................. 51 任务二:用鼠标实现交互式裁剪效果 ......................................................................... 54 四、实验结果和总结 ............................................................................................................. 57 实验六 交互式技术和用户接口 ............................................................................................. 58

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

任务一: 菜单程序设计 ............................................................................................. 58 任务二: AutoCAD交互式绘图简介 ............................................................................ 62 四、实验总结 ......................................................................................................................... 67 实验七 曲线与曲面 ................................................................................................................. 68

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

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

实验八 二维几何变换 ............................................................................................................. 77

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

任务一:根据数学模型,编写几何变换程序 ............................................................. 77 任务二:利用鼠标实现交互式移动图形 ..................................................................... 80 四、实验分析和总结 ............................................................................................................. 82

-- 3

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

一、实验目的

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

二、实验任务

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所示。

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

-- 4

标题栏 菜单栏 工作区 源代码 编辑窗口 状态栏

图3.1 Visual C++ 6.0集成开发环境

3.1.2 应用程序工程的建立方法

Visual C++提供了一种称为App Wizard的工具,利用该工具,用户可以方便地按照自己的需要创建符合需要的应用程序框架。在这个基础上,用户可以进一步将自己编写的程序加入到这个框架中,实现用户程序的功能。下面介绍建立VcApp应用程序框架的方法,其它应用程序的方法都与此类似。

第一步:启动Visual C++,选择工程方法

从开始菜单中选择 Visual C++,进入Visual C++集成环境。从文件菜单中选择新建(New)命令,弹出图3-2对话框。切换到工程(Projects)标签,项目类型选择MFC AppWizard(exe),输入工程的名字(如VcApp),选择项目放置的位置,然后单击“确定”按钮。

图3-2 Visual C++的New对话框

-- 5

本文来源:https://www.bwwdw.com/article/t30d.html

Top