信息与计算科学专业基础课
Computer
ReportGrapOhfics course
experiment
计算机图形学课程实验
报 告
实验题目 设计算法绘制直线与圆
班 级
姓 名
学 号
指导教师
日 期
实验 2
设计算法绘制直线与圆
?实验说明
试验目的: 掌握直线和圆的基本生成算法思想,并上机编程实现相应的算法。
试验地点: 教九楼 401 数学系机房
实验要求(Direction): 1. 每个学生单独完成;2.开发语言为 TurboC 或 C++,也可
使用其它语言;3.请在自己的实验报告上写明姓名、学号、班级;4.每次交的实验报
告内容包括:题目、试验目的和意义、程序制作步骤、主程序、运行结果图以及参考
文件;5. 自己??留一份可执行程序,考试前统一检查和上交。
?实验内容
?实验题一
1.1 实验题目
1).用 DDA 法在屏幕上画一条具有三个像素宽的直线段 L1。要求:(1)直线段 L1
的两个端点坐标和画线颜色都要求可以随机输入;(2)要求输出直线段 L1 上的各点坐
标;(3)画出直线的同时要求标明两端点坐标。
2).将课堂所讲的斜率 01、-1
情况,编写一通用的中点画线算法。
1.2 实验目的和意义
1.了解如何利用 C 语言和图形函数进行绘图;
2. 熟悉并掌握 C 语言的图形模式控制函数,图形屏幕操作函数,以及基本图形函数;
3. 通过对 Turbo C 进行图形程序设计的基本方法的学习,能绘制出简单的图形;
4. 熟悉并掌握 DDA 法在屏幕上画一条具有三个像素宽的直线段 L1 以及通用的中点画
线算法。通过 DDA 法及用的中点画线算法,了解图形系统初始化、图形系统关闭和图
形模式的控制,并熟练运用图形坐标的设置,包括定点、读取光标以及图形颜色的设
置。
1.3 程序制作步骤(包括算法思想、算法流程图等)
1.自动搜索显示器类型和显示模式,初始化图形系统,通过 printf、scanf 语句控制线段
的端点坐标和画线颜色的自由输入;
y2 ? y1 ?y
2. DDAline:设直线之起点为(x1,y1),终点为(x2,y2),则斜率 k 为:k ? ?
则有: x2 ? x1 ?x
⑴ 可 通 过 计 算 由 方 向 的 增 量 引 起 的 改 变 生 成 直 线 。 由
. x ?x y yi?1 ? yi ? ?y
- 1 -
y ? y
( 为直线上某步的初值)则 2 1
yi yi?1 ? yi ? ?x ? yi ? k?x
x2 ? x1
⑵ 也可通过计算由 方向的增量 引起 的改变生成直线。由 ( 为直
. y ?y