首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是对称DDA?

什么是对称DDA?
EN

Stack Overflow用户
提问于 2012-08-17 17:41:24
回答 1查看 9.3K关注 0票数 5

我读过关于DDA的文章。但我刚碰到对称DDA这个词。这是什么?它和DDA有什么不同?

EN

回答 1

Stack Overflow用户

发布于 2012-08-17 19:00:17

利用DDA ()算法求出任意两点之间的插值点,线性(即直线)。既然这是在数字计算机上完成的,速度是一个重要的因素。

直线方程由m=-x x/Δy eq(i)给出,其中Δx =x(2)Δ(1)&Δy= y(2)-y(1),

现在,利用这个方程,我们可以计算线上的连续点。但是这是光栅图形的离散世界,所以我们需要积分坐标。

简单地,DDA eq(i)转化为m=ex/eΔy,其中Δe称其为增量因子,为正实数。由于在分子和分母中放置相同的数字不会改变任何事情--但如果选择得当--它可以帮助我们生成离散点,从而减少舍入结果点所造成的过载。

基本上,我们需要做的是:将坐标增加一个固定的小值,从起点开始,每次我们有一个新的点向终点前进。

简单地说,DDA -e被选择为1/max(连Δx_x,m_Δy_x),这样,其中一个坐标是整数的,只有另一个坐标必须四舍五入。即P(i+1) = P(i)+(1,圆形( e*Δy )),其中一个坐标增加1,另一个坐标增加e*Δy。

在对称DDA -e中,虽然结果点的协调必须四舍五入,但它可以非常有效地完成,因此速度很快。

特别选择e作为1/2^n,其中2^(n-1) <= max({##**}})< 2^n。换句话说,这条线的长度被认为是2^n对齐。这两个坐标的增量分别是e*x和e*Δy,如果开始坐标的初始分数部分被适当选择,则使点被生成为分数部分在循环序列中的混合分数,即在较小的长度上重复。因此,生成的坐标可以根据两个固定长度的查找表(每个坐标一个)进行舍入。

有关示例,请参阅http://w3.msi.vxu.se/~gsu/DAB726-Ht06/Symm-DDA.pdf

注意结果坐标的小数部分中的循环重复。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12010568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档