(简答题)
如果线段端点坐标值不是整数,采用DDA算法产生的直线和将端点坐标值先取整后再用Bressenham算法产生的直线是否完全相同?为什么?能否扩充整数Bressenham算法使之能够处理当线段端点坐标值不是整数的情况。
正确答案
不相同。因为DDA算法总是选择△x或者△y中的较大者作为步进的方向,不失一般性,假设选择x方向,则x方向每前进一个像素点,y方向前进的像素点个数应该在[0,1]区间,但是由于采用了(向上或者向下或者四舍五入)取整运算,必然会导致某些像素点偏在了真实直线的一侧。而Bressenham算法每一步都会根据实际直线与网格的距离来决定下一个像素点的选择,因此所选像素点更加贴近于真实的直线。可以扩充整数Bressenham算法使之能够处理当线段端点坐标值不是整数的情况。
答案解析
略
相似试题
(单选题)
如果想把直线、弧和多线段的端点延长到指定的边界,则应该使用哪个命令:()
(单选题)
用编码裁剪法裁剪二维线段时,判断下列直线段采用哪种方法?假设直线段的两个端点M、N的编码分别为0101和1010()。
(单选题)
要将两条独立的线段的两个端点合并为一点,首先应将此两条线段执行()命令。
(多选题)
在指定直线顶点坐标时坐标值“@0,5”等效于()
(单选题)
在AutoCAD中使用相对坐标输入数据时,其坐标值的参照点是()。
(判断题)
可以通过输入一个点的坐标值或测量两个旋转角度定义观察方向。
(判断题)
二维图形绘制过程中,状态栏左端显示的坐标值最后一项始终为0。
(单选题)
3ds max中,每一个物体及物体上的有效元素都具有()个坐标值。
(填空题)
Z坐标值越大,则图层的阶层就越(),图层上的文字或图片就()下面的物体。