用于在光栅显示器上描画椭圆弧的方法和系统的制作方法

文档序号:6426462阅读:173来源:国知局
专利名称:用于在光栅显示器上描画椭圆弧的方法和系统的制作方法
技术领域
本发明涉及计算机图形学领域,更具体地涉及一种用于在光栅显示器上描画椭圆弧的方法和系统。
背景技术
简单地说,在光栅显示器上描画椭圆弧的过程就是在光栅显示器上选择最接近椭圆弧的像素并对这些像素进行渲染的过程。这个过程通常是通过沿着椭圆弧追踪像素来完成的。目前存在两种比较流行的用于在光栅显示器上描画椭圆弧的方法中点法和最小函数值法。它们都使用梯度向量和8个八分圆象限来判断下一个描画的像素是遵循正方形移动(Δχ = ±1或者Ay= ±1)还是遵循对角线移动(Δχ = ±1并且Ay = ±1)。其 中,当椭圆弧是位于长轴远大于短轴的椭圆(简称为很细的椭圆)上的椭圆弧时,以上所述中点法失效。而最小函数值法使用椭圆弧与像素正方形边的相交来判断在当前已经描画的像素周围的8个相邻像素中应该选择哪个像素作为下一个将要描画的像素。在最小函数值法中,没有一个单独的定义来概括所有的相交情况,所以实现情况不简单。

发明内容
鉴于以上所述的问题,本发明提供了一种新颖的用于在光栅显示器上描画椭圆弧的方法和系统。根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法,包括利用连接当前像素与椭圆弧所在椭圆的中心的直线将当前像素的相邻像素划分到两个像素组中,其中当前像素是在描画椭圆弧的过程中刚刚完成渲染的像素;以及从处于椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。根据本发明实施例的用于在光栅显示器上描画椭圆弧的系统,包括像素分组单元,用于利用连接当前像素与椭圆弧所在椭圆的中心的直线将当前像素的相邻像素划分到两个像素组中,其中当前像素是在描画椭圆弧的过程中刚刚完成渲染的像素;像素渲染单元,用于从处于椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。通过本发明,可以不需要计算梯度值,不需要考虑各种相交情况,并且不需要在8分圆象限之间切换,而简单地实现对于各种形状的椭圆上的椭圆弧的描画。


从下面结合附图对本发明的具体实施方式
的描述中可以更好地理解本发明,其中图I示出了根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法的流程图2示出了根据本发明实施例的用于在光栅显示器上描画椭圆弧的系统的框图;图3示出了提供对椭圆弧的最佳近似的一组像素的示例;图4示出了椭圆弧上的当前像素、入像素、以及出像素的示例;图5示出了在描画椭圆弧的过程中选择下一个将要渲染的像素的处理示例。
具体实施例方式下面将详细描述本发明各个方面的特征和示例性实施例。下面的描述涵盖了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说显而易见的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更清楚的理解。本发明绝不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了相关元素、部件和算 法的任何修改、替换和改进。本发明提供了一种新颖的用于在光栅显示器上描画椭圆弧的方法和系统。在根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法和系统中,利用连接当前像素和椭圆弧所在椭圆的中心的直线将当前描画的像素周围的8个相邻像素划分到两个平面中(即,划分为两个像素组),然后从处于椭圆弧走向侧的一个平面中选择下一个将要描画的像素。根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法和系统适用于任何形状的椭圆上的椭圆弧,且易于实现。下面结合附图,详细说明根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法和系统。图I示出了根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法的流程图。图2示出了根据本发明实施例的用于在光栅显示器上描画椭圆弧的系统的框图。如图I所示,根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法包括S102,利用连接当前像素与椭圆弧所在椭圆的中心的直线将当前像素的相邻像素划分到两个像素组中,其中当前像素是在描画椭圆弧的过程中刚刚完成渲染的像素;以及S104,从处于椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。如图2所示,根据本发明实施例的用于在光栅显示器上描画椭圆弧的系统包括像素分组单元202和像素渲染单元204。其中,像素分组单元202利用连接当前像素与椭圆弧所在椭圆的中心的直线将当前像素的相邻像素划分到两个像素组中(即,执行步骤S102),像素渲染单元204从处于椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素并对所选择的像素进行渲染(即,执行步骤S104)。下面结合示例,详细说明根据本发明实施例的用于在光栅显示器上描画椭圆弧的方法和系统是如何完成椭圆弧的描画的。这里,假设需要描画的椭圆弧所在的椭圆是以坐标点(0,0)为中心的椭圆,其隐函数为F(x, y) = Ax2+Bxy+Cy2-1 = O
Λ 二 Cos2(P) | Sin2(炉) rh2 rv权利要求
1.一种用于在光栅显示器上描画椭圆弧的方法,包括 利用连接当前像素与椭圆弧所在椭圆的中心的直线将所述当前像素的相邻像素划分到两个像素组中,其中所述当前像素是在描画所述椭圆弧的过程中刚刚完成渲染的像素;以及 从处于所述椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。
2.根据权利要求I所述的方法,其特征在于,对于所述当前像素的任意一个相邻像素P,根据所述相邻像素P相对于连接所述当前像素与所述椭圆弧所在椭圆的中心的直线的边方程的边方程值来判断所述相邻像素P是否属于处于所述椭圆弧的走向侧的一个像素组。
3.根据权利要求I所述的方法,其特征在于,选择处于所述椭圆弧的走向侧的一个像素组中的距离所述椭圆弧最近的一个相邻像素作为所述下一个将要渲染的像素。
4.根据权利要求3所述的方法,其特征在于,将处于所述椭圆弧的走向侧的一个像素组中的各个相邻像素相对于所述椭圆弧所在椭圆的隐函数的函数值作为所述各个相邻像素与所述椭圆弧之间的距离。
5.根据权利要求4所述的方法,其特征在于,利用前向差分法来计算处于所述椭圆弧的走向侧的一个像素组中的各个相邻像素相对于所述椭圆弧所在椭圆的隐函数的函数值。
6.一种用于在光栅显不器上描画椭圆弧的系统,包括 像素分组单元,用于利用连接当前像素与椭圆弧所在椭圆的中心的直线将所述当前像素的相邻像素划分到两个像素组中,其中所述当前像素是在描画所述椭圆弧的过程中刚刚完成渲染的像素; 像素渲染单元,用于从处于所述椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。
7.根据权利要求6所述的系统,其特征在于,对于所述当前像素的任意一个相邻像素P,所述像素分组单元根据所述相邻像素P相对于连接所述当前像素与所述椭圆弧所在椭圆的中心的直线的边方程的边方程值来判断所述相邻像素P是否属于处于所述椭圆弧的走向侧的一个像素组。
8.根据权利要求6所述的系统,其特征在于,所述像素渲染单元选择处于所述椭圆弧的走向侧的一个像素组中的距离所述椭圆弧最近的一个相邻像素作为所述下一个将要渲染的像素。
9.根据权利要求8所述的系统,其特征在于,所述像素渲染单元将处于所述椭圆弧的走向侧的一个像素组中的各个相邻像素相对于所述椭圆弧所在椭圆的隐函数的函数值作为所述各个相邻像素与所述椭圆弧之间的距离。
10.根据权利要求9所述的系统,其特征在于,所述像素渲染单元利用前向差分法来计算处于所述椭圆弧的走向侧的一个像素组中的各个相邻像素相对于所述椭圆弧所在椭圆的隐函数的函数值。
全文摘要
本发明公开了一种用于在光栅显示器上描画椭圆弧的方法和系统。该方法包括利用连接当前像素与椭圆弧所在椭圆的中心的直线将当前像素的相邻像素划分到两个像素组中,其中当前像素是在描画椭圆弧的过程中刚刚完成渲染的像素;以及从处于椭圆弧的走向侧的一个像素组中选择下一个将要渲染的像素,并对所选择的像素进行渲染。本发明可以简单地实现对于各种形状的椭圆上的椭圆弧的描画。
文档编号G06T11/20GK102819854SQ201110162429
公开日2012年12月12日 申请日期2011年6月10日 优先权日2011年6月10日
发明者谭志明 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1