文档介绍:.-
计算机图形学
实验报告
姓 名: 谢云飞
学 号: 20112497
班 级: 计算机科学与 技术 11-2 班
实验地点:
逸夫楼 507
实验时间:
.-
实验 1 直线的生成
实验目的和要求
理解直 生成的原理;掌握典型直 生成算法;掌握步 理、分析数据的能力;
程 DDA算法 、 Bresenham 中 点算 法; 于 定 起点和 点的直 , 分 用 DDA 算法 和 Bresenham 中 点算 法 行批 量 制,并
两种 算法的 制 ;利用 excel 等数 据分 析 件, 将 果制成表格,并 制折 比 两种算法的性能。
实验环境和工具
开境: Visual C++
平 台: Experiment_Frame_One ( 自制 平台 )。
本 提供名 Experiment_Frame_One 的平 台, 平台提供基本制、 置 、 入 功能 ,学生 在此 基 上 DDA算 法和 Mid_Bresenham 算法,并 行分析。
平台界面:如 !
未找到引用源。所示
置 :通
view->setting
菜 入,如 !
未找到引用
源。所示
入 :通
view->input
⋯菜 入.
如 !
未找到引用
源。所示
算法 :
DDA算法 : void CExperiment_Frame_OneView::DDA(int int Y0, int X1, int Y1)
X0,
Mid_Bresenham
法
:
void
CExperiment_Frame_OneView::Mid_Bresenham(int
X0, int
Y0, int
X1,
int Y1)
.-
实验结果
程序流程图
1)DDA 算法流程图: 开始
定 义 两 点 坐 标 差 dx , dy , 以 及 epsl , 计 数 k=0 , 描 绘 点 坐 标 x,y , x 增
量 xIncre , y 增 量 yIncre
↓
输 入 两 点 坐 标 x1,y1,x0,y0
↓
dx=x1-x0,dy=y1-y0;
_________ ↓_________
↓ ↓
若 |dx|>|dy| 反 之
epsl=|dx|
epsl=|dy|
↓________...________↓
↓
xIncre=dx/epsl; yIncre=dy/epsl
↓
填 充 ( 强 制 整 形 )(x+,y+);
↓ ← ← ←
←
横 坐 标 x+xIncre;
纵 坐 标 y+yIncre;
↓
↑
若
k<=epsl
→ → →
k++
↓
结 束
2)
Mid_Bresenham
算法流程图
开 始
定义整形
dx,dy,
判 断 值
d,
↓
以 及
↓
UpIncre,DownIncre,
填 充 点
x,y
x0,y0,x1,y1
______↓______
若
↓
x0>x1
↓
反 之
x=x1;x1=x0;x0=x;
x=x0;
.-
Y=y1;y1=y0;y0=y; y=y0;
↓______.. ______↓
↓
坐 标 差 dx=x1-x0;dy=y1