Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 什么是对称DDA?_Algorithm_Graphics_Line Drawing_Dda - Fatal编程技术网

Algorithm 什么是对称DDA?

Algorithm 什么是对称DDA?,algorithm,graphics,line-drawing,dda,Algorithm,Graphics,Line Drawing,Dda,我已经读到了。但我刚刚遇到了对称DDA这个术语。它是什么?它与DDA有什么不同?DDA(数字微分分析仪)算法用于线性地(即直线)找出任意给定两点之间的插值点。现在,由于这是在数字计算机上完成的,速度是一个重要因素 直线方程由m=Δx/Δy等式(i)给出,其中Δx=x(2)-x(1)&Δy=y(2)-y(1),现在使用该方程,我们可以计算直线上的连续点。但这是光栅图形的离散世界,所以我们需要积分坐标 在简单的DDA中,等式(i)被转换为m=eΔx/eΔy,其中e,称之为增量因子,是一个正实数。因为

我已经读到了。但我刚刚遇到了对称DDA这个术语。它是什么?它与DDA有什么不同?

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

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

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

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

在简单的DDA中,选择e作为1/max(|Δx |,|Δy |),这样一个坐标是整数,而只有另一个坐标必须舍入。i、 e.P(i+1)=P(i)+(1,圆(e*Δy))这里一个坐标增加1,另一个坐标增加e*Δy

在对称DDA-e中,虽然合成点的两个坐标都必须舍入,但可以非常有效地快速地进行舍入


具体地说,e被选为1/2^n,其中2^(n-1)你在哪里遇到“对称DDA”这个词?@Colin D我听到两个人在谈论这个词。@Colin D当然,如果我再见到他们一次的话。我听到他们在火车上说话。与其发表这些闲聊的评论,不如试着回答它。@Y.E.P或者你可以,你知道,谷歌一下。在Google中键入“对称DDA”返回数千个结果。@Y.E.P是的。事实上,在Ujjwal Singh的回答中,下面引用的PDF文件是第二或第三次点击。