- 4
- 0
- 约1.49万字
- 约 27页
- 2018-11-16 发布于江苏
- 举报
计算机图形学实验培训教材
计算机图形学实验教程
信息科学与工程系
实验名称
实验一 直线生成算法
实验二 圆的生成算法
实验三 椭圆的生成算法
实验四 多边形填充算法
实验五 二维图形的几何变换
实验六 常用曲面和曲线的生成算法
实验七 常用消隐算法
实验八 曲线和曲面算法的应用
实验九 真实感图形生成
实验一、直线生成算法
数值微分法 (DDA画线算法)
?DDA-Digital Differential Analyzer
?设直线两端点为:P1(x1,y1)及 P0(x0,y0),
?则直线斜率为
则直线方程为
当 k1 , x每增加1,y 最多增加1(或增加小于1)。
y
yi
xi
yi+1
xi+1
当 k1 ,y每增加1,x 最多增加1 (或增加小于1) 。
DDA算法:
复杂度:加法+取整
优点:避免了y=kx+b 方程中的浮点乘法,比直接用点斜式画线快
缺点:需浮点数加法及取整运算,不利于硬件实现.
上机实验一
题目:编写用DDA画线算法画线算法的程序。
要求:
1。写出DDA画线算法的基本思想和公式。并叙述其优缺点。
2。编写用DDA画线算法的程序。并比较其结果。
3。写出上机报告
中点画线法
?设0k1
x
x
Pi=(xi, yi)
M
Q
P1
p2
y
中点M在直线下方,下一点取p1点
中点M在直线上方取p2点
中点算法: 用整数加法及比较代替了DDA中的浮点数加法及取整运算,效率大大提高.
yxF(x,y)=0
y
x
F(x,y)=0
F(x,y)0
F(x,y)0
(x1,y1)
(x0,y0)
直线将二维空间划分为三个区域:
如F(x,y)=0, 则(x,y) 在直线上
如F(x,y)0, 则(x,y)在直线下方
如F(x,y)0, 则(x,y)在直线上方
条件: a= -(y1-y0)
b=(x1-x0)
c= -B(x1-x0)
设(x0,y0)和(x1,y1)分别为直线的两端点
Dy=y1-y0, Dx=x1-x0
由 y=kx+B 及k=Dy/Dx, k∈[0,1]
得:
y=(Dy/ Dx).x+B
Dy.x-Dxy+Dx.B=0
则直线一般方程为:
F(x,y)=Dy.x- Dx.y+B. Dx=0
a= Dy, b= -Dx,c= B.Dx
设 (x,y) 为直线上一点,将点P=(x,y+?m)代入直线 方程:
F(x,y+m)= Dy.x-Dx.(y+m)+B.Dx= (Dy.x-Dx.y+B. Dx)-Dx.m =F(x,y)-Dx.m
= -Dx.m
因为Dx0
if m 0(即P点在直线上方) then F(x,y+yb)0;
if m0 (即P点在直线下方) then F(x,y+yb)0;
定义决策变量:
d= F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c
如果 d0,则M在理想直线上方,选正右方E点
如果 d0,则M在理想直线下方,选右上方NE点
如果 d=0,则M在理想直线上,选E/NE点
由于d是xi和yi的线性函数k?[0,1],可采用增量计算数提高运算效率.
1.如由pi点确定在是正右方E点(d0).,则新的中点M仅在x方向加1,新的d值为:
dnew=F(xi+2,yi+0.5)=a(xi+2)+b(yi+0.5)+c
而 dold=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c
dnew=dold+a= dold-dy
2.如由pi点确定是右上方NE点(d0),则新的中点M在x和y方向都增加1,新的d值为
dnew=F(xi+2,yi+1.5)=a(xi+2)+b(yi+1.5)+c
而 dold=F(xi+1,yi+0.5)=a(xi+1)+b(yi+0.5)+c
dnew=dold+a+b= dold-dy+dx
在每一步中,根据前一次第二迭中计算出的d值 的符号,在正右方和右上方的两个点中进行选择.
d的初始值:
d0=F(x0+1,y0+0.5)=F(x0,y0)+a+b/2=a+b/2=-dy+dx/2
F(x0,y0)=0 (x0,y0) 在直线上
为了消除d的分数,重新定义 F(x,y)=2(ax+by+c)
则每一步需要计算的dnew 是简单的整数加法
dy=y1-y0 dx=x1-x0
d0=-2dy+dx
dnew=dold-2*dy 当 dold=0
dnew=dold-2(dy-dx) 当dold0
Bresenham画线算法
与DDA算法相似, Bresenham画线算法也要在每列象素中找到与理想直线最逼近的象素点。
根据直线的斜率来确定变量在x或y方向递增一个单位。另
您可能关注的文档
- 行协六套题库(最终打印版).doc
- 行情系统分析软件使用详细说明.doc
- 行政办公室主任职务详细说明书.doc
- 行政区划说课稿.doc
- 行政区划空白图.doc
- 行政复议应诉案件统计报备系统使用详细说明书.doc
- 行政职业能力倾向测验——数字推理题库解题库技巧大全.doc
- 行政职业能力测验模拟预测习题(三十六).doc
- 行政能力模拟测试题库.doc
- 行政能力测试数字推理题库.doc
- 2026年黑龙江冰雪体育职业学院单招职业技能测试题库及参考答案详解.docx
- 水务系统运行全景可视化建模与实现研究.docx
- 2026届湖北省枣阳市吴店镇清潭第一中学中考冲刺卷数学试题含解析.doc
- 历cpa经济法考试真题及答案.doc
- 发改委笔试试题及答案.doc
- 2026年黑龙江冰雪体育职业学院单招职业倾向性考试题库带答案详解.docx
- 2026年学历类自考国际公共关系-生产与作业管理参考题库含答案解析(5套试题).docx
- 2026年黑龙江冰雪体育职业学院单招职业倾向性考试题库及答案详解一套.docx
- 2026年黑龙江冰雪体育职业学院单招职业倾向性考试题库及答案详解1套.docx
- 2026年学历类自考公关关系语言-公共关系学参考题库含答案解析(5卷试题).docx
原创力文档

文档评论(0)