用在图形光栅扫描中的凸多边形遍历方法和系统技术方案

技术编号:4266266 阅读:288 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用在图形光栅扫描中的凸多边形遍历方法和系统、以及插值方法和系统。其中,该遍历方法包括以下步骤:根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;为该两个边界框中的每一个设置遍历起始位置;以及分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。通过本发明专利技术,可以减少在对图形光栅扫描的过程中的计算量,从而可以增快图形光栅扫描设备的处理速度,节省处理时间。

【技术实现步骤摘要】

本专利技术涉及图像处理领域,更具体地涉及一种用在图形光栅扫描中的凸多边形遍历方法和系统、以及插值方法和系统。
技术介绍
图形光栅扫描过程是将几何图形(例如,线、三角形、多边形等)映射成显示器上 的像素的过程。凸多边形是图形学中重要的几何图形。凸多边形遍历过程是用来找到所 有位于凸多边形内部的像素的过程。凸多边形插值过程是计算凸多边形内部的像素的参 数值(例如,R、G、B等)的过程。边方程技术是凸多边形光栅扫描的基础。边方程指的 是凸多边形各条边的直线方程。位于凸多边形内部的像素的各条边方程的值同时为正或同 时为负。基于这个性质,可以使用边方程来判断一个像素是否位于凸多边形的内部。 传统的凸多边形光栅扫描方法是将凸多边形划分成一系列三角形然后利用三角 形的光栅扫描方法来实现整个凸多边形的光栅扫描过程的方法。由于划分成三角形后引入 了大量的多余边,使得传统的凸多边形光栅扫描方法需要的运算量很大,所以凸多边形光 栅扫描过程耗时较长,占用的计算设备的计算资源较多。
技术实现思路
鉴于以上所述的一个或多个问题,本专利技术提供了一种用在图形光栅扫描中的凸多 边形遍历方法和系统、以及插值方法和系统。 根据本专利技术实施例的用在图形光栅扫描中的凸多边形遍历方法,包括以下步骤 S302,根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两 个边界框,其中,n为大于2的整数;S304,为该两个边界框中的每一个设置遍历起始位置; 以及S306,分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中 的每一个中的凸n边形部分进行遍历。 根据本专利技术实施例的用在图形光栅扫描中的凸多边形遍历系统,包括边界框构造单元,用于根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;起始位置设置单元,用于为该两个边界框中的每一个设置遍历起始位置;以及图形遍历单元,用于从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。 根据本专利技术实施例的用在图形光栅扫描中的凸多边形插值方法,包括以下步骤S702,将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标系;S704,根据位于凸多边形内的待插值像素在该相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在该相对坐标系中的Y轴坐标值,为待插值像素选择相交边;以及S706,利用该相交边的顶点的参数值,插值得到待插值像素的参数值。 根据本专利技术实施例的用在图形光栅扫描中的凸多边形插值系统,包括坐标系转 换单元,用于将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标6系;相交边选择单元,用于根据位于凸多边形内的待插值像素在该相对坐标系中的Y轴坐 标值和凸多边形的每条边的顶点在该相对坐标系中的Y轴坐标值,为待插值像素选择相交 边;以及参数值计算单元,用于利用该相交边的顶点的参数值,插值得到待插值像素的参数值。 本专利技术避免了将凸多边形划分成三角形后引入的大量多余边,从而使得凸多边形 光栅扫描方法/系统需要的运算量变小,所以凸多边形光栅扫描过程耗时变短,占用的计 算设备的计算资源变少。附图说明 图1示出了凸多边形光栅扫描系统的示意框图; 图2示出了根据本专利技术实施例的用在图1所示系统中的设置模块和遍历模块的示 意框图; 图3示出了根据本专利技术实施例的用在图2所示模块中的凸多边形遍历方法的流程 图; 图4示出了根据本专利技术实施例的构造两个边界框的各种情况的示意图; 图5示出了根据本专利技术实施例的两个边界框的遍历起始位置的示意图; 图6示出了计算每个边界框中的每一个扫描行的起始扫描点的过程的示意图; 图7示出了根据本专利技术实施例的用在图2所示模块中的凸多边形插值方法的流程 图;以及 图8示出了根据本专利技术实施例的相对坐标系以及该坐标系中的待插值像素点及 其相交边和相交点的示意图。具体实施例方式图l示出了凸多边形光栅扫描系统的示意图。如图l所示,该凸多边形光栅扫描 系统包括顶点存储器102、变换和投影模块104、设置和遍历模块106、帧缓存模块108、以及 显示模块IIO。在对凸多边形进行光栅扫描的过程中,首先将顶点信息(原始坐标)从顶点 存储器中读出。然后,将顶点的原始坐标通过变换和投影模块的运算转换成光栅扫描系统 的设备坐标。接着,设置和遍历模块106使用顶点的设备坐标来计算哪些像素位于凸多边 形内部,并且计算这些位于凸多边形内部的像素的参数值(颜色/纹理)。最后,将这些像 素的参数值写入帧缓存模块,并通过显示模块显示出来。 图2示出了根据本专利技术实施例的用在图1所示系统中的设置模块和遍历模块的示 意框图。如图2所示,设置和遍历模块具体分为设置模块和遍历模块。其中,设置模块利用 凸多边形的顶点坐标来计算凸多边形的各条边的边方程并构造扫描边界框。遍历模块利用 凸多边形各条边的边方程和边界框信息判断边界框中的哪些像素位于凸多边形内部并计 算这些内部像素的参数值。 图3示出了根据本专利技术实施例的用在图2所示模块中的凸多边形遍历方法的流程 图。如图3所示,该凸多边形遍历方法包括以下三个步骤S302,根据凸n边形的n个顶点 的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的 整数;S304,为该两个边界框中的每一个设置遍历起始位置;以及S306,分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进 行遍历。 下面详细描述图3所示方法中的步骤S302。假设,凸多边形的顶点为V。、W…、 Vn。其中,每个顶点的坐标为(Xi, Yi), i = 0、1、2、…、n。这里的Xi和Yi均为浮点值。用 在对凸n边形进行光栅扫描的过程中的两个边界框通过以下过程得到 首先,获取凸多边形的顶点的X轴坐标值中的最小值和最大值、以及Y轴坐标值中 的最小值和最大值 fxmin = min(X。, X X2...Xn) ;fxmax = max(X。, Xn X2...Xn); fymin = min(Y。, Y丄,Y2...Yn) ;fymax = max(Y。, Y丄,Y2...Yn)。 其中,min() 、max()函数返回n个变量的最大值和最小值。fxmin、 fxmax、 fymin、 fymax均为浮点值。 然后,根据以上获取的凸多边形的顶点的X轴坐标值中的最小值和最大值,找出凸多边形的最左边的顶点V^t(其中,最左边的顶点的X轴坐标值Xlrft = fxmin)。 接着,根据凸多边形的最左边的顶点的Y轴坐标值(Ylrft)与以上获取的凸多边形的顶点的Y轴坐标值的最小值和最大值的关系,构造用在对凸多边形进行光栅扫描的过程中的边界框(图4示出了构造两个边界框的以下三种情况) 情形1, Yleft = fymin 。在这种情形下,上边界框为空,下边界框定义如下fxmin_bot ==fxmin ^fxmax_bot ==fxmax ;fymin_bot ==fymin ^fymax_bot ==fymax ;xmin_bot =ceil(fxmin_bot ==fxmin);xmax_bot =floor(fxmax_本文档来自技高网...

【技术保护点】
一种用在图形光栅扫描中的凸多边形遍历方法,其特征在于,包括以下步骤:S302,根据凸n边形的n个顶点的坐标值,构造用在对所述凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;S304,为所述两个边界框中的每一个设置遍历起始位置;以及S306,分别从所述两个边界框中的每一个的遍历起始位置开始,对位于所述两个边界框中的每一个中的凸n边形部分进行遍历。

【技术特征摘要】
一种用在图形光栅扫描中的凸多边形遍历方法,其特征在于,包括以下步骤S302,根据凸n边形的n个顶点的坐标值,构造用在对所述凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;S304,为所述两个边界框中的每一个设置遍历起始位置;以及S306,分别从所述两个边界框中的每一个的遍历起始位置开始,对位于所述两个边界框中的每一个中的凸n边形部分进行遍历。2. 根据权利要求1所述的凸多边形遍历方法,其特征在于,所述两个边界框包括上边 界框和下边界框,其中,所述上边界框的遍历起始位置为所述上边界框的左下角,所述下边 界框的遍历起始位置为所述下边界框的左上角。3. 根据权利要求2所述的凸多边形遍历方法,其特征在于,所述步骤S302包括以下子 步骤获取所述凸n边形的n个顶点的X轴坐标值中的最大值和最小值、以及Y轴坐标值中 的最大值和最小值;根据所述凸n边形的n个顶点的X轴坐标值中的最大值和最小值、以及Y轴坐标值中 的最大值和最小值,构造所述两个边界框。4. 根据权利要求3所述的凸多边形遍历方法,其特征在于,当所述凸n边形的最左边 的顶点的Y轴坐标值是所述凸n边形的n个顶点的Y轴坐标值中的最小值或最大值时,将 所述两个边界框中的其中一个边界框构造为空,并将所述两个边界框中的另一个边界框构 造为所述另一个边界框的左边两个顶点的X轴坐标值为不小于所述凸n边形的n个顶点 的X轴坐标值中的最小值的最小整数、右边两个顶点的X轴坐标值为不大于所述凸n边形 的n个顶点的X轴坐标值中的最大值的最大整数、上边两个顶点的Y轴坐标值为不小于所 述凸n边形的n个顶点的Y轴坐标值中的最小值的最小整数、并且下边两个顶点的Y轴坐 标值为不大于所述凸n边形的n个顶点的Y轴坐标值中的最大值的最大整数。5. 根据权利要求3所述的凸多边形遍历方法,其特征在于,当所述凸n边形的最左边的 顶点的Y轴坐标值在所述凸n边形的n个顶点的Y轴坐标值中的最大值和最小值之间时,将所述凸n边形的上边界框构造为所述上边界框的左边两个顶点的X轴坐标值为不 小于所述凸n边形的X轴坐标值中的最小值的最小整数,右边两个顶点的X轴坐标值为不 大于所述凸n边形的X轴坐标值中的最大值的最大整数,上边两个顶点的Y轴坐标值为不 小于所述凸n边形的Y轴坐标值中的最小值的最小整数,下边两个顶点的Y轴坐标值为不 大于所述凸n边形的最左边的顶点的Y轴坐标值的最大整数,并将所述凸n边形的下边界框构造为所述下边界框的左边两个顶点的X轴坐标值为 不小于所述凸n边形的X轴坐标值中的最小值的最小整数,右边两个顶点的X轴坐标值为 不大于所述凸n边形的X轴坐标值中的最大值的最大整数,上边两个顶点的Y轴坐标值为 不小于所述凸n边形的最左边的顶点的Y轴坐标值中的最小整数,下边两个顶点的Y轴坐 标值为不大于所述凸n边形的Y轴坐标值中的最大值的最大整数。6. 根据权利要求4或5所述的凸多边形遍历方法,其特征在于,当所述上边界框和/或 所述下边界框的一个或多个顶点位于显示平面之外时,根据所述显示平面的显示范围对所 述上边界框和/或所述下边界框进行裁剪。7. 根据权利要求1所述的凸多边形遍历方法,其特征在于,在所述步骤S306中,通过自适应地调整各扫描行的起始扫描点来对位于所述两个边界框中的每一个中的凸n边形部 分进行遍历。8. 根据权利要求7所述的凸多边形遍历方法,其特征在于,通过计算当前扫描行的前 两个扫描行中的第一个处于所述凸n边形内部的点之间的距离来获取所述当前扫描行的 起始扫描点。9. 一种用在图形光栅扫描中的凸多边形遍历系统,其特征在于,包括 边界框构造单元,用于根据凸n边形的n个顶点的坐标值,构造用在对所述凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;起始位置设置单元,用于为所述两个边界框中的每一个设置遍历起始位置;以及 图形遍历单元,用于从所述两个边界框中的每一个的遍历起始位置开始,对位于所述两个边界框中的每一个中的凸n边形部分进行遍历。10. 根据权利要求9所述的凸多边形遍历系统,其特征在于,所述两个边界框包括上边 界框和下边界框,其中,所述上边界框的遍历起始位置为所述上边界框的左下角,所述下边 界框的遍历起始位置为所述下边界框的左上角。11. 根据权利要求IO所述的凸多边形遍历系统,其特征在于,所述边界框构造单元包括最值获取模块,用于获取所述凸n边形的n个顶点的X轴坐标值中的最大值和最小值、 以及Y轴坐标值中的最大值和最小值;框构造模块,用于根据所述凸n边形的n个顶点的X轴坐标值中的最大值和最小值、以 及Y轴坐标值中的最大值和最小值,构造所述两个边界框。12. 根据权利要求ll所述的凸多边形遍历系统,其特征在于,在所述凸n边形的最左边 的顶点的Y轴坐标值是所述凸n边形的n个顶点的Y轴坐标值中的最小值或最大值的情况 下,所述边界框构造单元将所述两个边界框中的其中一个边界框构造为空,并将所述两个 边界框中的另一个边界框构造为所述另一个边界框的左边两个顶点的X轴坐标值为不小 于所述凸n边形的n个顶点的X轴坐标值中的最小值的最小整数、右边两个顶点的X轴坐 标值为不大于所述凸n边形的n个顶点的X轴坐标值中的最大值的最大整数、上边两个顶 点的Y轴坐标值为不小于所述凸n边形的n个顶点的Y轴坐标值中的最小值的最小整数、 并且下边两个顶点的Y轴坐标值为不大于所述凸n边形的n个顶点的Y轴...

【专利技术属性】
技术研发人员:白向晖洲镰康谭志明
申请(专利权)人:富士通株式会社
类型:发明
国别省市:JP[日本]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利