论文部分内容阅读
在当今计算机应用中,都不同程度地使用了图形技术。随着图形技术日益广泛的应用,对计算机绘图方法的研究也日益重要。目前我们广泛使用的图形显示器是光栅扫描显示器,所以光栅图形生成算法是计算机图形学的基础。直线、圆弧、椭圆等是图形的基本元素,生成基本元素的算法的效率直接影响到图形系统的效率,所以提高生成基本元素的算法的速度会提高整个图形系统的速度。目前国内外广大学者的注意力都集中在圆弧的绘制上,所以现在对于圆弧的生成算法已经比较完善。现有的绘制圆弧的经典算法有正负法、bresenham画圆方法、中点法和圆的多边形迫近法。此外,还有圆的双步生成算法、基于水平直线段的圆弧扫描转换算法、快速圆弧绘制算法这类多点生成算法。但是对椭圆生成算法的研究还是停留在单点绘制上,而椭圆比正圆更具有普遍性,因此对于椭圆生成算法的任何一个微小的进步都具有更重要的意义,但是其难度也非常大。图形绘制的单点法是指算法每执行一步生成一个象素点,也就是说所有的象素点都是用画点命令逐个生成并显示的。而在实际应用中输出一个点的位置所用的时间远远超过计算机计算这个点的位置所用的时间,也就是说如果减少输出操作所需的时间会大大的缩短整个生成算法所需要的时间。而减少输出操作的最直接的办法,就是每次输出具有某种共同特征的一系列的点。椭圆的离散轨迹可看成由一系列具有相同y坐标的相邻象素点的水平线段和一系列具有相同x坐标的相邻象素点的垂直线段和斜率为—1的对角线段组成的。本文就利用了椭圆的这一特点,在中点法的基础上提出了一种高效的多点椭圆绘制方法。本文在对椭圆离散象素点的轨迹进行深入分析和研究的基础上,提出了一种快速的椭圆绘制算法。该算法利用了椭圆离散轨迹所具有的特性,先找出离散轨迹中的每段直线位移,然后用画线命令逐段绘制。新算法每执行一次输出操作都可以生成两个或两个以上的象素点,从而极大的减少了椭圆绘制过程中所需的输出操作,继而显著的提高了椭圆的生成速度。本文算法与传统的基于单个象素点的椭圆绘制算法(如中点法)相比,在相同精度条件下的生成速度具有明显的优势。实验结果表明,与Bresenham法、中点法等经典的椭圆绘制算法相比,新算法可以提高椭圆绘制速度接近甚至超过一倍。椭圆是一种普遍的二次曲线,而双曲线、抛物线等其他二次曲线在光栅显示器上的离散轨迹也是由一系列水平位移和对角位移构成的,因此,今后工作的一个方向是将本文所提出的多点椭圆绘制算法推广到图形学中其他二次曲线的绘制中,相信可以取得很好的效果。