CN102543040B - 用在图形光栅扫描中的凸多边形插值方法和系统 - Google Patents
用在图形光栅扫描中的凸多边形插值方法和系统 Download PDFInfo
- Publication number
- CN102543040B CN102543040B CN201110277692.0A CN201110277692A CN102543040B CN 102543040 B CN102543040 B CN 102543040B CN 201110277692 A CN201110277692 A CN 201110277692A CN 102543040 B CN102543040 B CN 102543040B
- Authority
- CN
- China
- Prior art keywords
- convex polygon
- limit
- axis
- summit
- coordinate system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Image Generation (AREA)
Abstract
本发明公开了一种用在图形光栅扫描中的凸多边形插值方法和系统。其中,该遍历方法包括以下步骤:根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;为该两个边界框中的每一个设置遍历起始位置;以及分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。通过本发明,可以减少在对图形光栅扫描的过程中的计算量,从而可以增快图形光栅扫描设备的处理速度,节省处理时间。
Description
本申请是于2008年12月15日递交的名为“用在图形光栅扫描中的凸多边形遍历方法和系统”的200810184069.9号发明专利申请的分案申请。
技术领域
本发明涉及图像处理领域,更具体地涉及一种用在图形光栅扫描中的凸多边形遍历方法和系统、以及插值方法和系统。
背景技术
图形光栅扫描过程是将几何图形(例如,线、三角形、多边形等)映射成显示器上的像素的过程。凸多边形是图形学中重要的几何图形。“凸多边形遍历”过程是用来找到所有位于凸多边形内部的像素的过程。“凸多边形插值”过程是计算凸多边形内部的像素的参数值(例如,R、G、B等)的过程。边方程技术是凸多边形光栅扫描的基础。“边方程”指的是凸多边形各条边的直线方程。位于凸多边形内部的像素的各条边方程的值同时为正或同时为负。基于这个性质,可以使用边方程来判断一个像素是否位于凸多边形的内部。
传统的凸多边形光栅扫描方法是将凸多边形划分成一系列三角形然后利用三角形的光栅扫描方法来实现整个凸多边形的光栅扫描过程的方法。由于划分成三角形后引入了大量的多余边,使得传统的凸多边形光栅扫描方法需要的运算量很大,所以凸多边形光栅扫描过程耗时较长,占用的计算设备的计算资源较多。
发明内容
鉴于以上所述的一个或多个问题,本发明提供了一种用在图形光栅扫描中的凸多边形遍历方法和系统、以及插值方法和系统。
根据本发明实施例的用在图形光栅扫描中的凸多边形遍历方法,包括以下步骤:S302,根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;S304,为该两个边界框中的每一个设置遍历起始位置;以及S306,分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。
根据本发明实施例的用在图形光栅扫描中的凸多边形遍历系统,包括:边界框构造单元,用于根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;起始位置设置单元,用于为该两个边界框中的每一个设置遍历起始位置;以及图形遍历单元,用于从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。
根据本发明实施例的用在图形光栅扫描中的凸多边形插值方法,包括以下步骤:S702,将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标系;S704,根据位于凸多边形内的待插值像素在该相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在该相对坐标系中的Y轴坐标值,为待插值像素选择相交边;以及S706,利用该相交边的顶点的参数值,插值得到待插值像素的参数值。
根据本发明实施例的用在图形光栅扫描中的凸多边形插值系统,包括:坐标系转换单元,用于将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标系;相交边选择单元,用于根据位于凸多边形内的待插值像素在该相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在该相对坐标系中的Y轴坐标值,为待插值像素选择相交边;以及参数值计算单元,用于利用该相交边的顶点的参数值,插值得到待插值像素的参数值。
本发明避免了将凸多边形划分成三角形后引入的大量多余边,从而使得凸多边形光栅扫描方法/系统需要的运算量变小,所以凸多边形光栅扫描过程耗时变短,占用的计算设备的计算资源变少。
附图说明
图1示出了凸多边形光栅扫描系统的示意框图;
图2示出了根据本发明实施例的用在图1所示系统中的设置模块和遍历模块的示意框图;
图3示出了根据本发明实施例的用在图2所示模块中的凸多边形遍历方法的流程图;
图4示出了根据本发明实施例的构造两个边界框的各种情况的示意图;
图5示出了根据本发明实施例的两个边界框的遍历起始位置的示意图;
图6示出了计算每个边界框中的每一个扫描行的起始扫描点的过程的示意图;
图7示出了根据本发明实施例的用在图2所示模块中的凸多边形插值方法的流程图;以及
图8示出了根据本发明实施例的相对坐标系以及该坐标系中的待插值像素点及其相交边和相交点的示意图。
具体实施方式
图1示出了凸多边形光栅扫描系统的示意图。如图1所示,该凸多边形光栅扫描系统包括顶点存储器102、变换和投影模块104、设置和遍历模块106、帧缓存模块108、以及显示模块110。在对凸多边形进行光栅扫描的过程中,首先将顶点信息(原始坐标)从顶点存储器中读出。然后,将顶点的原始坐标通过变换和投影模块的运算转换成光栅扫描系统的设备坐标。接着,设置和遍历模块106使用顶点的设备坐标来计算哪些像素位于凸多边形内部,并且计算这些位于凸多边形内部的像素的参数值(颜色/纹理)。最后,将这些像素的参数值写入帧缓存模块,并通过显示模块显示出来。
图2示出了根据本发明实施例的用在图1所示系统中的设置模块和遍历模块的示意框图。如图2所示,设置和遍历模块具体分为设置模块和遍历模块。其中,设置模块利用凸多边形的顶点坐标来计算凸多边形的各条边的边方程并构造扫描边界框。遍历模块利用凸多边形各条边的边方程和边界框信息判断边界框中的哪些像素位于凸多边形内部并计算这些内部像素的参数值。
图3示出了根据本发明实施例的用在图2所示模块中的凸多边形遍历方法的流程图。如图3所示,该凸多边形遍历方法包括以下三个步骤:S302,根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;S304,为该两个边界框中的每一个设置遍历起始位置;以及S306,分别从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。
下面详细描述图3所示方法中的步骤S302。假设,凸多边形的顶点为V0、V1、V2、…、Vn。其中,每个顶点的坐标为(Xi,Yi),i=0、1、2、…、n。这里的Xi和Yi均为浮点值。用在对凸n边形进行光栅扫描的过程中的两个边界框通过以下过程得到:
首先,获取凸多边形的顶点的X轴坐标值中的最小值和最大值、以及Y轴坐标值中的最小值和最大值:
fxmin=min(X0,X1,X2…Xn);fxmax=max(X0,X1,X2…Xn);
fymin=min(Y0,Y1,Y2…Yn);fymax=max(Y0,Y1,Y2…Yn)。
其中,min()、max()函数返回n个变量的最大值和最小值。fxmin、fxmax、fymin、fymax均为浮点值。
然后,根据以上获取的凸多边形的顶点的X轴坐标值中的最小值和最大值,找出凸多边形的最左边的顶点Vleft(其中,最左边的顶点的X轴坐标值Xleft=fxmin)。
接着,根据凸多边形的最左边的顶点的Y轴坐标值(Yleft)与以上获取的凸多边形的顶点的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_bot=fxmax);
ymin_bot=ceil(fymin_bot=fymin);
ymax_bot=floor(fymax_bot=fymax)。
其中,fxmin_bot、fxmax_bot、fymin_bot、fymax_bot表示下边界框在X方向的最大最小值(浮点)以及在Y方向的最大最小值(浮点)。xmin_bot、xmax_bot、ymin_bot、ymax_bot表示下边界框在x方向的最大/最小值(整点)以及在y方向的最大最小值(整点)。ceil(float_a)函数返回不小于a的最小整数,例如,ceil(1.5)=2。Floor(float_a)函数返回不大于a的最大整数,例如,floor(1.5)=1。
其中,当凸多边形的顶点位于显示平面之外时,假设显示平面的显示范围为[clip_xmin,clip_xmax],[clip_ymin,clip_ymax],需要进行如下裁剪操作:
if(xmin_bot<clip_xmin)xmin_bot=clip_xmin;
if(ymin_bot<clip_ymin)ymin_bot=clip_ymin;
if(xmax_bot>clip_xmax)xmax_bot=clip_xmax;
if(ymax_bot>clip_ymax)ymax_bot=clip_ymax。
经过以上过程,可以得到下边界框的四个顶点的坐标(xmin_bot,ymin_bot),(xmin_bot,ymax_bot),(xmax_bot,ymin_bot),(xmax_bot,ymax_bot)。
情形2,Yleft=fymax。
在这种情形下,下边界框为空,上边界框定义如下:
fxmin_top=fxmin;
fxmax_top=fxmax;
fymin_top=fymin;
fymax_top=fymax;
xmin_top=ceil(fxmin_top);xmax_top=floor(fxmax_top);
ymin_top=ceil(fymin_top);ymax_top=floor(fymax_top)。
同样,如上所述,当凸多边形的顶点位于显示平面之外时,假设显示平面的显示范围为[clip_xmin,clip_xmax],[clip_ymin,clip_ymax],需要进行如下裁剪操作:
if(xmin_top<clip_xmin)xmin_top=clip_xmin;
if(ymin_top<clip_ymin)ymin_top=clip_ymin;
if(xmax_top>clip_xmax)xmax_top=clip_xmax;
if(ymax_top>clip_ymax)ymax_top=clip_ymax。
经过以上过程,可以得到上边界框的四个顶点的坐标(xmin_top,ymin_top),(xmin_top,ymax_top),(xmax_top,ymin_top),(xmax_top,ymax_top)。
情形3,fymin<Yleft<fymax。
在这种情形下,上边界框定义如下:
fxmin_top=fxmin;
fxmax_top=fxmax;
fymin_top=fymin;
fymax_top=Yleft;
xmin_top=ceil(fxmin_top);
xmax_top=floor(fxmax_top);
ymin_top=ceil(fymin_top);
ymax_top=floor(fymax_top)。
下边界框定义如下:
fxmin_bot=fxmin;
fxmax_bot=fxmax;
fymin_bot=Yleft
fymax_bot=fymax;
xmin_bot=ceil(fxmin_bot);
xmax_bot=floor(fxmax_bot);
ymin_bot=ceil(fymin_bot);
ymax_bot=floor(fymax_bot)。
同样,如上所述,当凸多边形的顶点位于显示平面之外时,假设显示平面的显示范围为[clip_xmin,clip_xmax],[clip_ymin,clip_ymax],需要进行如下裁剪操作:
if(xmin_top<clip_xmin)xmin_top=clip_xmin;
if(ymin_top<clip_ymin)ymin_top=clip_ymin;
if(xmax_top>clip_xmax)xmax_top=clip_xmax;
if(ymax_top>clip_ymax)ymax_top=clip_ymax;
if(xmin_bot<clip_xmin)xmin_bot=clip_xmin;
if(ymin_bot<clip_ymin)ymin_bot=clip_ymin;
if(xmax_bot>clip_xmax)xmax_bot=clip_xmax;
if(ymax_bot>clip_ymax)ymax_bot=clip_ymax。
过以上过程,可以得到上边界框的四个顶点的坐标为(xmin_top,ymin_top),(xmin_top,ymax_top),(xmax_top,ymin_top),(xmax_top,ymax_top),下边界框的四个顶点的坐标为(xmin_bot,ymin_bot),(xmin_bot,ymax_bot),(xmax_bot,ymin_bot),(xmax_bot,ymax_bot)。
图5示出了根据本发明实施例的两个边界框的遍历起始位置的示意图。如图5所示,上边界框的遍历起始位置为上边界框的左下角,下边界框的遍历起始位置为下边界框的左上角。并且,在上边界框中,按照从左到右、从下到上的方向对位于上边界框中的凸多边形部分进行遍历,在下边界框中,按照从左到右、从上到下的方向对位于下边界框中的凸多边形部分进行遍历。
图6示出了计算每个边界框中的每一个扫描行的起始扫描点的过程的示意图。这个过程通过自适应地调整各扫描行的起始扫描点来遍历边界框。扫描过程包括三个阶段:
1.从每一行的起始扫描点开始,沿着水平方向找到位于凸多边形内的像素点。其中,像素点位于凸多边形内等价于:
e0(x,y)>0&&e1(x,y)>0&&…&&en(x,y)>0。
其中,ei(x,y)(i=0,1,2…)是凸多边形各条边的边方程:
e0(x,y)=a0*x+b0*y+c0;
e1(x,y)=a1*x+b1*y+c1;
e2(x,y)=a2*x+b2*y+c2;
…
en(x,y)=an*x+bn*y+cn。
2.当像素p(x,y)满足以下条件时,结束当前行的扫描过程:InRightPolygon(x,y)为真;或者p(x,y)位于边界框外。其中,InRightPolygon(x,y)函数是用来判断像素p(x,y)是否位于凸多边形的右边的函数。当p(x,y)相对于凸多边形的某一条边的边方程值小于0并且这条边的法线的水平分量不大于0时,判定p(x,y)位于凸多边形的右边。具体地,该函数定义如下:
3.计算下一个扫描行的起始扫描点。下一个扫描行的起始扫描点通过计算之前两行中第一个凸多边形内部点之间的距离来得到。如图6所出,当前扫描行的第一个凸多边形内部点的坐标为(xc,yc),之前扫描行的第一个凸多边形内部点的坐标为(xp,yp),下一个扫描行的起始扫描位置(xn,yn)计算方法如下:
delta_x=xc==xp?0:xc-xp-1;
delta_y=top_box==True?-1:1;
xn=xc+delta_x;
yn=yc+delta_y。
其中,delta_x是xc和xp之间的距离。如果xc=xp,delta_x为0,否则delta_x等于xc-xp-1。delta_y取决于当前遍历的是上边界框还是下边界框,如果遍历的是上边界框,则delta_y为-1,否则为1。
可以通过用在图形光栅扫描中的凸多边形遍历系统来实现上述方法。该凸多边形遍历系统包括:边界框构造单元,用于根据凸n边形的n个顶点的坐标值,构造用在对凸n边形进行光栅扫描的过程中的两个边界框,其中,n为大于2的整数;起始位置设置单元,用于为该两个边界框中的每一个设置遍历起始位置;以及图形遍历单元,用于从该两个边界框中的每一个的遍历起始位置开始,对位于该两个边界框中的每一个中的凸n边形部分进行遍历。其中,所述两个边界框包括上边界框和下边界框,上边界框的遍历起始位置为上边界框的左下角,下边界框的遍历起始位置为所述下边界框的左上角。
其中,边界框构造单元包括:最值获取模块,用于获取凸n边形的n个顶点的X轴坐标值中的最大值和最小值、以及Y轴坐标值中的最大值和最小值;框构造模块,用于根据凸n边形的n个顶点的X轴坐标值中的最大值和最小值、以及Y轴坐标值中的最大值和最小值,构造所述两个边界框。
在凸n边形的最左边的顶点的Y轴坐标值是凸n边形的n个顶点的Y轴坐标值中的最小值或最大值的情况下,边界框构造单元将所述两个边界框中的其中一个边界框构造为空,并将所述两个边界框中的另一个边界框构造为:该另一个边界框的左边两个顶点的X轴坐标值为不小于凸n边形的n个顶点的X轴坐标值中的最小值的最小整数、右边两个顶点的X轴坐标值为不大于凸n边形的n个顶点的X轴坐标值中的最大值的最大整数、上边两个顶点的Y轴坐标值为不小于凸n边形的n个顶点的Y轴坐标值中的最小值的最小整数、并且下边两个顶点的Y轴坐标值为不大于凸n边形的n个顶点的Y轴坐标值中的最大值的最大整数。
在凸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轴坐标值中的最大值的最大整数。
其中,在上边界框和/或下边界框的一个或多个顶点位于显示平面之外的情况下,边界框构造单元根据显示平面的显示范围对上边界框和/或下边界框进行裁剪。图形遍历单元通过自适应地调整各扫描行的起始扫描点来对位于所述两个边界框中的每一个中的凸n边形部分进行遍历,通过计算当前扫描行的前两个扫描行中的第一个处于凸n边形内部的点之间的距离来获取当前扫描行的起始扫描点。
图7示出了根据本发明实施例的用在图2所示模块中的凸多边形插值方法的流程图。如图7所示,该凸多边形插值方法包括以下三个步骤:S702,将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标系;S704,根据位于凸多边形内的待插值像素在该相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在该相对坐标系中的Y轴坐标值,为待插值像素选择相交边;以及S706,利用该相交边的顶点的参数值,插值得到待插值像素的参数值。
具体地,首先要将多边形从原来的绝对坐标系转换到相对的位于多边形上的坐标系。这样做是为了避免多边形在旋转过程中会造成插值的不一致。多边形上的坐标系以多边形的任意一条边(ViVi+1)作为X轴,以边(ViVi+1)的法线作为Y轴,以Vi作为原点。多边形上的坐标系中的Y坐标通过边(ViVi+1)的边方程计算得到,X坐标通过边(ViVi+1)的法线的边方程计算得到。其中,坐标变换过程如下:
边(ViVi+1)的边方程定义为ei(x,y)=ai*x+bi*y+ci;
边(ViVi+1)的法线的边方程定义为ni(x,y)=di*x+ei*y+fi;
假设一个点在原先的坐标系中的坐标为P(x,y),经过坐标变换后的坐标为P(x’,y’),其中,x’=ni(x,y)=di*x+ei*y+fi,y’=ei(x,y)=ai*x+bi*y+ci。坐标变换完成后,将待插值像素的Y坐标与多边形每条边的两个顶点的Y坐标进行比较,以选择待插值像素的相交边。假设多边形的每条边的两个顶点为Va(xa,ya)和Yb(xb,yb)。如果该条边为相交边,则其顶点的Y坐标应该满足以下条件:ya<=y<=yb||yb<=y<=ya。
在利用相交边进行插值运算的步骤中,通过相交边的两个顶点上的参数值插值得到相交点上的参数值,再利用两个相交点上的参数值插值得到待插值像素的参数值。
图8示出了根据本发明实施例的相对坐标系以及该坐标系中的待插值像素点及其相交边和相交点的示意图。如图8所示,假设待插值像素的两条相交边为eab和ecd。eab的两个顶点为Va(xa,ya)和Vb(xb,yb)。ecd的两个顶点为Vc(xc,yc)和Vd(xd,yd)。待插值像素为V(x,y)。eab的相交点为Vab(xab,yab)。ecd的相交点为Vcd(xcd,ycd)。以上坐标均位于多边形上的坐标系中。
Vab的坐标计算如下:
xab=(xa*(yb-y)+xb*(y-ya))/(yb-ya);
yab=y;
Vcd的坐标计算如下:
xcd=(xc*(yd-y)+xd*(y-yc))/(yd-yc);
ycd=y;
Va,Vb,Vc,Vd的参数值为Pa,Pb,Pc,Pd。
Vab的参数值为Pab,计算如下:
Pab=(Pa*(xb-xab)+Pb*(xab-xa))/(xb-xa);
Vcd的参数值为Pcd,计算如下:
Pcd=(Pc*(xd-xcd)+Pd*(xcd-xc))/(xd-xc);
待插值像素V(x,y)的参数值为P,计算如下:
P=(Pab*(xcd-x)+Pcd*(x-xab))/(xcd-xab)。
可以通过用在图形光栅扫描中的凸多边形插值系统来实现上述方法。该凸多边形插值系统包括:坐标系转换单元,用于将凸多边形从绝对坐标系转换到以凸多边形的任意一边为坐标轴的相对坐标系;相交边选择单元,用于根据位于凸多边形内的待插值像素在所述相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在相对坐标系中的Y轴坐标值,为待插值像素选择相交边;以及参数值计算单元,用于利用相交边的顶点的参数值,插值得到待插值像素的参数值。其中,该相对坐标系是以凸多边形的任意一条边的一个顶点作为原点、以所述原点所在的边作为X轴、并以所述原点所在的边的法线作为Y轴的坐标系。待插值像素的Y轴坐标值和凸多边形的每条边的顶点的Y轴坐标值是通过该相对坐标系的X轴的边方程计算得到的。待插值像素的X坐标值和凸多边形的每条边的顶点的X轴坐标值是通过该相对坐标系的Y轴的边方程计算得到的。
相交边选择单元通过比较待插值像素在所述相对坐标系中的Y轴坐标值和凸多边形的每条边的顶点在所述相对坐标系中的Y轴坐标值,为待插值像素选择相交边。
参数值计算单元包括:第一计算单元,用于利用相交边的顶点的参数值,插值得到待插值像素所在扫描行与相交边的相交点的参数值;第二计算单元,利用待插值像素所在扫描行与相交边的相交点的参数值,插值得到待插值像素的参数值。
本领域技术人员将理解,还存在可用于实现本发明实施例的更多可选实施方式和改进方式,并且上述实施方式和示例仅是一个或多个实施例的说明。因此,本发明的范围仅由所附权利要求书限制。
Claims (12)
1.一种用在图形光栅扫描中的凸多边形插值方法,其特征在于,包括以下步骤:
S702,将凸多边形从绝对坐标系转换到以所述凸多边形的任意一边为坐标轴的相对坐标系;
S704,根据位于所述凸多边形内的待插值像素在所述相对坐标系中的Y轴坐标值和所述凸多边形的每条边的顶点在所述相对坐标系中的Y轴坐标值,为所述待插值像素选择相交边;以及
S706,利用所述相交边的顶点的参数值,插值得到所述待插值像素的参数值。
2.根据权利要求1所述的凸多边形插值方法,其特征在于,所述相对坐标系是以所述凸多边形的任意一条边的一个顶点作为原点、以所述原点所在的边作为X轴、并以所述原点所在的边的法线作为Y轴的坐标系。
3.根据权利要求2所述的凸多边形插值方法,其特征在于,所述待插值像素的Y轴坐标值和所述凸多边形的每条边的顶点的Y轴坐标值是通过所述相对坐标系的X轴的边方程计算得到的。
4.根据权利要求3所述的凸多边形插值方法,其特征在于,所述待插值像素的X坐标值和所述凸多边形的每条边的顶点的X轴坐标值是通过所述相对坐标系的Y轴的边方程计算得到的。
5.根据权利要求1所述的凸多边形插值方法,其特征在于,通过比较所述待插值像素在所述相对坐标系中的Y轴坐标值和所述凸多边形的每条边的顶点在所述相对坐标系中的Y轴坐标值,为所述待插值像素选择相交边。
6.根据权利要求1所述的凸多边形插值方法,其特征在于,所述步骤S706包括以下子步骤:
利用所述相交边的顶点的参数值,插值得到所述待插值像素所在扫描行与所述相交边的相交点的参数值;
利用所述待插值像素所在扫描行与所述相交边的相交点的参数值,插值得到所述待插值像素的参数值。
7.一种用在图形光栅扫描中的凸多边形插值系统,其特征在于,包括:
坐标系转换单元,用于将凸多边形从绝对坐标系转换到以所述凸多边形的任意一边为坐标轴的相对坐标系;
相交边选择单元,用于根据位于所述凸多边形内的待插值像素在所述相对坐标系中的Y轴坐标值和所述凸多边形的每条边的顶点在所述相对坐标系中的Y轴坐标值,为所述待插值像素选择相交边;以及
参数值计算单元,用于利用所述相交边的顶点的参数值,插值得到所述待插值像素的参数值。
8.根据权利要求7所述的凸多边形插值系统,其特征在于,所述相对坐标系是以所述凸多边形的任意一条边的一个顶点作为原点、以所述原点所在的边作为X轴、并以所述原点所在的边的法线作为Y轴的坐标系。
9.根据权利要求7所述的凸多边形插值系统,其特征在于,所述待插值像素的Y轴坐标值和所述凸多边形的每条边的顶点的Y轴坐标值是通过所述相对坐标系的X轴的边方程计算得到的。
10.根据权利要求9所述的凸多边形插值系统,其特征在于,所述待插值像素的X坐标值和所述凸多边形的每条边的顶点的X轴坐标值是通过所述相对坐标系的Y轴的边方程计算得到的。
11.根据权利要求7所述的凸多边形插值系统,其特征在于,所述相交边选择单元通过比较所述待插值像素在所述相对坐标系中的Y轴坐标值和所述凸多边形的每条边的顶点在所述相对坐标系中的Y轴坐标值,为所述待插值像素选择相交边。
12.根据权利要求7所述的凸多边形插值系统,其特征在于,所述参数值计算单元包括:
第一计算单元,用于利用所述相交边的顶点的参数值,插值得到所述待插值像素所在扫描行与所述相交边的相交点的参数值;
第二计算单元,利用所述待插值像素所在扫描行与所述相交边的相交点的参数值,插值得到所述待插值像素的参数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110277692.0A CN102543040B (zh) | 2008-12-15 | 2008-12-15 | 用在图形光栅扫描中的凸多边形插值方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110277692.0A CN102543040B (zh) | 2008-12-15 | 2008-12-15 | 用在图形光栅扫描中的凸多边形插值方法和系统 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200810184069 Division CN101753767B (zh) | 2008-12-15 | 2008-12-15 | 用在图形光栅扫描中的凸多边形遍历方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102543040A CN102543040A (zh) | 2012-07-04 |
CN102543040B true CN102543040B (zh) | 2014-10-15 |
Family
ID=46349784
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110277692.0A Expired - Fee Related CN102543040B (zh) | 2008-12-15 | 2008-12-15 | 用在图形光栅扫描中的凸多边形插值方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102543040B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107341136B (zh) * | 2017-06-30 | 2021-06-18 | 广州酷狗计算机科技有限公司 | 序列索引号的生成方法、生成装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3647487B2 (ja) * | 1994-12-02 | 2005-05-11 | 株式会社ソニー・コンピュータエンタテインメント | テクスチャマッピング装置 |
DE60120474T2 (de) * | 2000-12-18 | 2007-01-04 | Lightspace Technologies, Inc. | Rasterung von dreidimensionalen bildern |
JP2007066012A (ja) * | 2005-08-31 | 2007-03-15 | Toshiba Corp | 映像描画装置、方法およびプログラム |
JP2007249791A (ja) * | 2006-03-17 | 2007-09-27 | Sony Corp | 画像処理装置および画像処理方法、並びにプログラム |
US8823705B2 (en) * | 2007-04-11 | 2014-09-02 | Panasonic Corporation | Image generating apparatus and image generating method for generating images by rendering a polygon |
-
2008
- 2008-12-15 CN CN201110277692.0A patent/CN102543040B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN102543040A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106952338B (zh) | 基于深度学习的三维重建的方法、系统及可读存储介质 | |
US9070034B2 (en) | Method and system for correcting QR code image | |
CN101661741A (zh) | 图形光栅扫描中的三角形遍历方法和装置 | |
US8406551B2 (en) | Rendering method of an edge of a graphics primitive | |
CN105894564B (zh) | 路面纹理的生成方法和装置 | |
CN103761739A (zh) | 一种基于半全局能量优化的影像配准方法 | |
CN110428504B (zh) | 文本图像合成方法、装置、计算机设备和存储介质 | |
CN111986303A (zh) | 流体渲染方法、装置、存储介质及终端设备 | |
US9299127B2 (en) | Splitting of elliptical images | |
CN101901590B (zh) | 用于抗锯齿的多边形栅格化的方法和系统 | |
CN112750161A (zh) | 用于移动机器人的地图更新方法及移动机器人定位方法 | |
CN111881985A (zh) | 立体匹配方法、装置、终端和存储介质 | |
EP2034444B1 (en) | Method for rotating images | |
CN102543040B (zh) | 用在图形光栅扫描中的凸多边形插值方法和系统 | |
CN117522963A (zh) | 棋盘格的角点定位方法、装置、存储介质及电子设备 | |
CN101753767B (zh) | 用在图形光栅扫描中的凸多边形遍历方法和系统 | |
CN101739696B (zh) | 用于对凸多边形进行栅格化的系统及方法 | |
CN113658288B (zh) | 一种多边形数据矢量切片生成及显示的方法 | |
US11887255B2 (en) | Method and system for rendering boundary of map area within game map, and computer-readable storage medium | |
CN112508831B (zh) | 一种超声宽景图像生成方法、装置、设备及存储介质 | |
CN114419118A (zh) | 三维点云配准方法、移动设备及存储介质 | |
CN108447086B (zh) | 一种环境贴图映射方法及装置 | |
US20100141649A1 (en) | Drawing device | |
CN117725663B (zh) | 曲面屋顶的建模方法、装置、设备及存储介质 | |
CN112241675A (zh) | 物体检测模型训练方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20141015 Termination date: 20161215 |