我已经阅读了有关DDA的信息。但是我碰到了对称DDA一词。它是什么 ?与DDA有何不同?

最佳答案

DDA(数字差分分析仪)算法用于线性(即直线)找出任意两个给定点之间的插值点。现在,由于这是要在数字计算机上完成的,因此速度是一个重要因素。

直线方程由m =Δx/Δyeq(i)给出,其中Δx= x(2)-x(1)&Δy= y(2)-y(1),现在我们可以使用计算线上的连续点。但这是栅格图形的离散世界-因此我们需要积分坐标。

在简单的DDA中,eq(i)转换为m =eΔx/eΔy,其中 e 称为增量因子,是一个正实数。因为将相同的数字放在分子和分母中不会改变任何东西-但如果选择适当的话-它可以帮助我们生成离散点,从而减少了必须舍入所得点的负担。

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

在简单的DDA中,将e选择为1/max(|Δx|,|Δy|),这样一个坐标是整数,而另一个坐标必须是四舍五入的。即P(i + 1)= P(i)+(1,Round(e *Δy))在这里,一个坐标正以1递增,另一个坐标正以e *Δy递增



具体而言,将e选择为1/2 ^ n,其中2 ^(n-1) cyclic series , i.e. they repeat over a small length.因此,可以很容易地基于两个固定长度的查找表对所得的坐标进行四舍五入,每个表一个。

请引用http://w3.msi.vxu.se/~gsu/DAB726-Ht06/Symm-DDA.pdf作为示例。
注意在结果坐标的小数部分中的循环重复。

10-01 06:29