计算机图形学DDA画线算法及具体程序实现
更新时间:2023-05-14 15:07:01 阅读量: 实用文档 文档下载
计算机图形学DDA画线算法及具体程序实现
数学与软件科学学院 实验报告
学期: 2010 至 2011 第 一 学期 2010年 9月20 日 课程名称: 计算机图形学 专业:信息与计算科学 2007级5班 实验编号: 01 实验项目: DDA画线 指导教师 庞朝阳 姓名: 学号:200706005 实验成绩:
一、实验目的及要求
1) 理解直线的生成算法; 2) 掌握直线生成算法——数值微分(DDA)法,并用C++程序实现;
二、实验内容
1) 用C++实现DDA画线程序;
2) 用C++实现按y=ax+b画直线;
3) 每个取10万次循环,对比运行时间。
三、主要仪器设备及软件环境
1) 计算机;
2) Vc++6.0。
四、具体实验内容:
1.算法的基本思想:
已知过端点P0(x0,y0)和P1),斜率为 0,P1 x1,y1 的直线段L(P
k=y1 y0. x1 x0
画线过程:从x的左端点x0开始,向x右端点步进,步长=1(像
素),计算y=ax+b,取像素点(x,round(y))作为当前点的坐标, 计算 yi 1 kxi 1 b kxi b k x;
若令 x 1 ,则 yi 1 yi k,即当x每递增1,y递增k。
综上,DDA算法的本质在于利用数值方法解微分方程,通过同时对x和y各增加一个小增量,计算下一步的x,y值。
2. DDA算法的优缺点
计算机图形学DDA画线算法及具体程序实现
优点:与基本算法相比,在扫描过程中减少了浮点运算,提高了效率。 缺点:由于x与dx,y与dy必须用浮点来表示,且每一步都要进行四
舍五入取整,不利于硬件实现,故效率有待提高。
3.程序代码
#include <iostream>
#include "math.h"
#define TRUE 1
using namespace std;
class DDA
{
public:
void DDALine(int x0,int y0,int x1,int y1,COLORREF color, CDC *pDC)
{
float dx, dy, length, x, y;
if(abs(x1-x0) >= abs(y1-y0))
length = abs(x1-x0);
else
length = abs(y1-y0);
dx = (x1-x0)/length;
计算机图形学DDA画线算法及具体程序实现
dy = (y1-y0)/length;
int i = 1;
x = x0;
y = y0;
while(i<=length)
{
pDC->SetPixel((int)(x+0.5),(int)(y+0.5),color); x = x + dx;
y = y + dy;
i++;
}
}
}
4.程序结果:
计算机图形学DDA画线算法及具体程序实现
正在阅读:
计算机图形学DDA画线算法及具体程序实现05-14
浙江选考2019届高考历史学业水平考试专题十九中外历史人物评说第46讲无产阶级革命家和杰出的科学家10-30
关于商业银行的案例分析问题及答案05-20
《工程估价》教学大纲03-29
老人的期盼散文11-21
2020版高考历史新探究大一轮复习第一单元1第1讲夏商制度与西周封建课后达标检测含2019届新题含解析岳麓版11-22
机房动力环境监控系统方案 - 图文06-24
定积分练习参考答案05-24
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 算法
- 图形
- 具体
- 实现
- 计算机
- 程序
- DDA
- 模具类日语中日英对照9
- 初中数学新课程标准考试【及解答】
- 无创正压通气治疗儿童阻塞性睡眠呼吸暂停综合征专家共识(最全版)
- 心脑血管病患者的冬季保健.docx
- 公文 公文写作格式与范例大全
- 登高架设作业模拟考试题库含答案
- 2015年电大开放英语I(2)期末考试复习资料答案
- 800个有趣句子帮你记忆7000个单词(完整)
- 深圳市泛海三江电子技术资料
- 盈亏平衡点计算方法和步骤
- 电子教案 Book1—Unit5
- 一枚古钱币阅读题及答案
- 基本不等式均值定理练习题
- 2005年景宁县初中语文教师基本功比赛语文知识考核试题
- ch00 动物繁殖学绪论
- 第100783号6.3 用乘法公式分解因式(2)(1)
- 如皋2014事业单位
- 第4章 集成变换器及其应用
- 高产的南斯拉夫雪莲藕
- 审计学网上作业一参考答案