CN102999321A - 毛笔电子画刷设置装置和毛笔电子画刷 - Google Patents
毛笔电子画刷设置装置和毛笔电子画刷 Download PDFInfo
- Publication number
- CN102999321A CN102999321A CN2011102744991A CN201110274499A CN102999321A CN 102999321 A CN102999321 A CN 102999321A CN 2011102744991 A CN2011102744991 A CN 2011102744991A CN 201110274499 A CN201110274499 A CN 201110274499A CN 102999321 A CN102999321 A CN 102999321A
- Authority
- CN
- China
- Prior art keywords
- paintbrush
- writing brush
- electronics
- brush electronics
- pixel
- 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.)
- Granted
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Image Generation (AREA)
Abstract
本发明提供一种毛笔电子画刷的设置装置,其包括:形状和中心位置设定模块,用于设定毛笔电子画刷的中心位置,并设定毛笔笔头形状的多边形作为毛笔电子画刷;宽度设定模块,用于根据用户的需要设定所述多边形的宽度;宽度调节模块,用于随着毛笔电子画刷移动的速度的变化而变化调节所述多边形的宽度,该毛笔电子画刷移动得越快,所述毛笔电子画刷对应的多边形越小。本发明还提供一种由该毛笔电子画刷的设置装置的毛笔电子画刷。另外,本发明还提供一种使用所述毛笔电子画刷描绘毛笔电子线条的装置及方法。利用本发明,能够绘制出类似于毛笔笔迹的电子线条。
Description
技术领域
本发明涉及计算机图形处理技术,尤其涉及一种毛笔电子画刷设置装置、描绘类似毛笔笔迹的毛笔电子画刷、描绘毛笔电子线条的方法及装置。
背景技术
计算机图形学(Computer Graphics,简称CG)是一种使用数学算法将二维或三维图形转化为计算机显示器的栅格形式的科学,其目的是利用计算机产生令人赏心悦目的真实感图形。
光栅图形学是计算机图形学的一个分支,其是用光栅显示器来显示图形。光栅显示器将图形光栅化,并对光栅化的图形进行处理。光栅显示器可以看作是一个像素矩阵,在光栅显示器上显示的任何一个图形,实际上都是一些具有一种或多种颜色和灰度像素的集合。正由于这个原因,在光栅显示器上绘制的非水平且非垂直的直线或多边形的边界,或多或少都会呈锯齿状,这种用光栅显示器上的离散量(像素)表示连续量所引起的失真叫做走样(aliasing)。用于减少或者消除这种效果的技术叫反走样(antialiasing)。常见的反走样手段有两种方式,一是提高分辨率,二是区域采样。其中提高分辨率的方式,硬件成本太高,并且只能减轻走样效果,不能消除走样,所以通常采用区域采样的方式。
在区域采样中,目前反走样画线的方法有很多种,例如,可以采用圆形画刷来画一定宽度的线条,但是用这种画刷绘制的线条在不同的方向上线条宽度都一致,比较单调,不符合用实际的笔所画出的线条的轨迹,例如,不能真实地反映出毛笔所写出的字的轨迹。
现有的模拟毛笔笔迹的系统一般地都是从建立毛笔受力模型,根据笔在屏上写字时的力量大小及方向来模拟毛笔与纸的接触形状,进而来模拟毛笔效果。这种系统因为要检测到笔的压力大小及方向,所以只能应用于带有压力感应并且能够感知笔尖的方向的触摸屏上。并且这种数学模型比较复杂,运算量比较大。
发明内容
本发明的发明目的是提供一种毛笔电子画刷设置装置、描绘电子线条的毛笔电子画刷、毛笔电子线条描绘方法及装置,其能绘制出类似毛笔笔迹的电子线条。
根据本发明的第一方面,提供一种描绘电子线条的毛笔电子画刷的设置装置,其特征在于,包括:形状和中心位置设定模块,用于设定毛笔电子画刷的中心位置,并设定毛笔笔头形状的多边形作为毛笔电子画刷;宽度设定模块,用于根据用户的需要设定所述多边形的宽度;宽度调节模块,用于随着毛笔电子画刷移动的速度的变化而变化调节所述多边形的宽度,该毛笔电子画刷移动得越快,所述毛笔电子画刷对应的多边形越小。
本发明的上述毛笔电子画刷的设置装置还可以包括颜色分布确定模块。该颜色分布确定模块进一步包括:权值确定子模块,当以水平方向上包含毛笔电子画刷的最小正方形外接框中的每个像素点为起点的任一条射线与所述多边形的各边交点的总个数为偶数个时,该像素点的权值为0;当为奇数个时,像素点的权值根据该像素点到毛笔电子画刷的多边形的各条边的距离的最小值与一个常数的比值确定,所述常数根据经验确定,当所述比值大于1时,像素点的权值为1,当所述比值小于1时,像素点的权值等于该常数;颜色分布子模块,其通过如下公式计算出毛笔电子画刷的颜色分布并显示:
Vs=ws×Vcu+(1-ws)×Vbg
其中,Vs代表在水平方向上包含毛笔电子画刷的最小正方形外接框中的任意一像素点S的R、G、B颜色分量,Vcu代表当前毛笔电子画刷的R、G、B颜色分量,Vbg代表背景色的R、G、B颜色分量,ws是像素点S的权值。
在本发明的上述毛笔电子画刷的设置装置中,当所述毛笔电子画刷从当前位置移动到下一个位置时,所述宽度调节模块比较当前毛笔电子画刷的宽度wCur和毛笔电子画刷的目标宽度wDst并调节毛笔电子画刷的宽度wCur:
当wCur>wDst+wStep时,wCur=wCur-wStep;
当wCur<wDst-wStep时,wCur=wCur+wStep;
当wDst-wStep≤wCur≤wDst+wStep时,保持当前毛笔电子画刷的宽度wCur不变,其中毛笔电子画刷的目标宽度wDst由当前的采样距离D所确定,该采样距离D是指系统根据输入设备移动以一定的时间间隔进行采样而得到的当前采样点与上一采样点之间的距离,wStep表示毛笔电子画刷宽度变化的步长,该步长是根据经验确定的固定值。
在本发明的上述毛笔电子画刷的设置装置中,所述毛笔电子画刷的目标宽度wDst与所述采样距离D之间的关系为:当采样距离D小于等于某一预设值时,wDst=wPen,其中wPen表示整个描绘过程中毛笔电子画刷的最大宽度且为一固定值;当采样距离D大于某一预设值时,wDst=k/D,k是根据经验取值;当wDst<wMin时,wDst=wMin,其中wMin表示整个描绘过程中毛笔电子画刷的最小宽度,为固定值。
本发明的上述毛笔电子画刷的设置装置的颜色分布确定模块还可以包括权值存储子模块,其将求得的毛笔电子画刷的最小正方形外接框中的各像素点的权值存储成为一个由数组构成的模板,所述数组中的各个元素对应于外接框中各个像素点的权值。
在本发明的上述毛笔电子画刷的设置装置中,当毛笔电子画刷移动,所述像素点权值确定模块确定当前位置的毛笔电子画刷的水平方向的最小正方形外接框,确定当前外接框中的各像素点的权值,并确定当前位置的毛笔电子画刷的外接框与当前位置的前一位置的外接框的公共像素点和不属于当前位置的前一位置的外接框的像素点,将在当前外接框中的像素点的权值和在当前位置的前一位置的外接框中的像素点的权值之和作为公共像素点的权值;所述权值存储子模块存储所述像素点权值确定模块求得的不属于上一外接框的各像素点的权值、以及公共像素点的权值;所述颜色分布子模块根据像素点权值存储子模块中存储的不属于当前外接框的各像素点的权值,并计算出各像素点的红色分量、蓝色分量和绿色分量,然后显示。
根据本发明的第二方面,提供一种毛笔电子画刷,其由本发明的所述毛笔电子画刷设置装置设置而成。
根据本发明的第三方面,提供一种描绘毛笔电子线条的装置,其包括:点选取模块,采集用户的输入笔迹点中的四个点作为三次B样条曲线所需的控制点;线条描绘模块,利用三次B样条曲线方程,基于点选取模块选取的所述控制点确定并用反走样线段连接待描绘电子线条上的数个点;采用所述毛笔电子画刷描绘所述线条描绘模块得到的反走样线段。
根据本发明的第四方面,提供一种描绘毛笔电子线条的方法,其包括:点选取步骤,采集用户的输入笔迹点中的四个点作为三次B样条曲线所需的四个控制点,线条描绘步骤,基于所述四个控制点,利用三次B样条曲线方程,确定并用反走样线段连接待描绘电子线条上的数个点,其中所述反走样线段采用本发明的毛笔电子画刷描绘。
采用本发明的毛笔电子画刷设置装置、描绘电子线条的毛笔电子画刷、毛笔电子线条描绘方法及装置,其绘制的笔迹线条粗细有致,类似真实的毛笔笔迹;而且毛笔电子画刷的颜色权值从中间向外层逐渐减小,使绘制的笔迹线条更美观。
附图说明
图1示出了本发明的电子线条描绘方法的流程图;
图2示出了本发明的毛笔电子画刷的示意图;
图3示出了本发明的确定毛笔电子画刷的像素点权值的方法流程图;
图4示出了利用本发明的梯度权值方法给出的毛笔电子画刷的颜色分布图放大了8倍的图示;
图5示出了用本发明的方法写出的毛笔字的样子的图示;
图6示出了确定本发明的毛笔电子画刷的颜色分布的方法流程图;
图7示出了根据本发明描绘毛笔电子线条的方法的一实施例的流程图;
图8示出了根据鼠标移动得到的采样点与所画曲线之间的关系图;
图9示出了本发明的毛笔电子画刷设置装置的结构方框图;
图10示出了本发明的毛笔电子画刷设置装置中的颜色分布模块的结构方框图。
具体实施方式
下面通过具体实施方式进一步详细描述本发明,但本发明并不仅仅限于此。
通常在计算机、手持移动终端、触摸板等上用鼠标或者手指、或触控笔等输入装置进行手写输入时,所述输入装置移动的笔迹在显示装置上显示出的笔迹曲线,都是通过将无数个点用短线段依次连接而成,所取的点越密集,所描绘的曲线越精确、越平滑,越接近理想曲线。
本发明的描绘毛笔电子线条的方法,首先求出要绘制的曲线的曲线方程,然后用短线段依次连接根据求得的曲线方程所确定的曲线上的点,从而得到所要绘制的曲线。其中要绘制的曲线的曲线方程采用B样条方法求得。
B样条方法是描绘自由曲线和曲面的较为常用的方法。在B样条方法中,用来描绘曲线的B样条曲线方程通常是一个高阶多项式。在使用时,为了减少计算量,希望曲线次数越低越好,但二次曲线是一条抛物线,不能反应曲线的拐点,所以一般使用三次B样条曲线。
三次B样条曲线具有四个控制点Pi,Pi+1,Pi+2,Pi+3,其中i≥0,根据Pi,Pi+1,Pi+2,Pi+3各点的坐标、可以求出由该四个控制点所确定的三次B样条曲线方程。公式(1)给出了通过三次B样条曲线方程求B样条曲线上的点的x坐标的表达式,其中x0、x1、x2、x3分别是如图8所示的四个控制点P0,P1,P2,P3的横坐标。关于B样条曲线上的点的y坐标的表达式与上述关于x坐标的表达式公式(1)类似,只需将其中的x0、x1、x2、x3分别换成如图8所示的四个控制点P0,P1,P2,P3的纵坐标y0、y1、y2、y3即可。公式(1)中的参数u的取值范围为0≤u≤1,其具体取值可以根据情况设定,u的取值越小,则通过公式(1)所求出的B样条曲线上的点越靠近起点,u的取值越多,则表明在曲线段上所选取的点越密集。
(公式1)其中,u∈[0,1]。
本发明根据所确定的四个控制点的坐标、以及选取的u值,利用上述公式(1)求得要绘制的曲线上的点的坐标。用线段依次连接各点则可得到要绘制的曲线。其中u的取值越多,点越密集,则所绘制的曲线越精确,平滑度越好,但是计算量也越大。例如,当u等间距取值时,如,在0和1之间20等分,则u分别取0.05、0.10、0.15、0.20......,这样,通过公式(1)可以确定所求曲线段上19个点的位置。用线段依次连接起点、曲线段上19个点、终点,可以得到要绘制的曲线段。由于B样条方法自身的特性,使得绘制出的曲线具有平滑的连续性。
下面具体介绍本发明的利用上述B样条方法、使用毛笔电子画刷来描绘类似于真实毛笔笔迹的电子线条的方法。
本发明的描绘毛笔电子线条方法,如图1所示,包括:
点选取步骤S100,采集用户的输入笔迹点中的四个点作为三次B样条曲线所需的四个控制点;
线条描绘步骤S200,基于所述四个控制点,利用三次B样条曲线方程,确定并用反走样线段连接待描绘电子线条上的数个点,其中所述反走样线段采用毛笔电子画刷绘制。
当利用本发明的上述方法描绘一个点时,在所述点选取步骤S100,选取当前的点作为三次B样条曲线的一个控制点,并将该当前的点复制三个作为该控制点之前的三个控制点。
当利用本发明的上述方法描绘与之前所描绘的点或电子线条相连接的电子线条时,在所述点选取步骤S100,选取当前的点和与该当前的点相邻的之前所选取的三个控制点作为三次B样条曲线所需的四个控制点。
在本发明的上述方法中,在用毛笔电子画刷绘制反走样线段时,所述毛笔电子画刷的中心从反走样线段的起点开始,以一定的步长p向反走样线段的终点移动。如果到达终点时多余一小段距离s,则画下一段反走样线段时毛笔电子画刷的起点从下一段反走样线段的起点向其终点侧偏移一段距离p-s,其中s<p。这里,所述的步长可以取一个像素长度,最好不要大于2个像素长度。
本发明的毛笔电子画刷为形状类似于毛笔笔锋的多边形,例如可以为5边形、6边形、7边形或边数更多的多边形,本发明主要以12边形为例进行说明。而且画刷的大小随着画刷移动的速度的变化而变化,移动得越快,该毛笔电子画刷越小。
其中与毛笔电子画刷对应的多边形的大小与画刷宽度之间的关系以及多边形的中心位置由系统事先设定,所述多边形的大小由画刷宽度决定,而该画刷宽度可以由用户根据需要通过外围设备设置,所述多边形的中心不一定是几何中心。例如,在设定了多边形的中心位置后,设置多边形的各顶点横坐标=多边形的中心的横坐标+偏移系数×画刷宽度,其中偏移系数是指各顶点的横坐标到中心的偏移系数,不同的顶点的横坐标到多边形中心的偏移系数可能不同。同理,设置多边形的各顶点纵坐标=多边形的中心的纵坐标+偏移系数×画刷宽度,其中偏移系数是指各顶点的纵坐标到中心的偏移系数,不同的顶点的纵坐标到多边形中心的偏移系数可能不同。因此,不同的顶点到多边形中心的距离可能不同。但是画刷多边形的大小与其宽度的关系不限于上面给出的例子,还可以采用其它的定义方式。由上述可知,对于宽度一样的两个画刷对应的多边形是完全一样的,通过平移一定的距离,二者能够重合。
为了描述毛笔电子画刷的颜色分布,这里引入毛笔电子画刷的在水平方向上的最小正方形外接框的概念。在毛笔电子画刷所对应的理论多边形的中心坐标一定、宽度一定时,可以得到毛笔电子画刷的多边形的顶点坐标,这时,毛笔电子画刷所对应的理论多边形的在水平方向上的最小正方形外接框能够根据多边形的中心坐标和宽度求得,且该最小正方形外接框的四个顶点坐标均为整数,即,是像素长度的整数倍。将所述外接框以一个像素长度进行划分,如图2所示,则一个小方格代表一个像素块,每个像素块的四个顶点的坐标也均为整数。这时,如果外接框的宽度一定,那么外接框中各像素点的权值唯一由多边形与外接框的相对位置所决定,即由多边形的中心坐标的小数部分唯一确定。因为对于中心坐标的小数部分完全相同的两个画刷,那么将其中一个画刷的多边形及其外接框一起平移一定的像素,肯定能与另一画刷的多边形及其外接框完全重合。在本发明中,预先将外接框中的各像素点的权值存储成由一个数组构成的模板,该数组中的一元素对应于画刷的外接框中一像素点的权值。在实际存储时,可以设置毛笔电子画刷所对应的理论多边形的中心的横纵坐标的小数部分的精度,例如为0.25,这样,多边形的中心的横纵坐标小数部分各有0,0.25,0.5,0.75四种,所以在所述多边形的宽度一定的情况下,多边形的中心共有16种位置,在读取预先存储的模板时,查找与毛笔电子画刷所对应的理论多边形的中心的横纵坐标小数部分最接近的那个模板作为对应于当前位置的毛笔电子画刷外接框中各像素点权值的模板。按照上述方法设置与不同宽度的多边形的最小正方形外接框对应的存储各像素点权值的模板。
在获得毛笔电子画刷外接框中各像素点的权值之后,毛笔电子画刷的颜色分布通过如下公式(2)确定:
Vs=ws×Vcu+(1-ws)×Vbg 公式(2)
其中Vs代表在水平方向上包含毛笔电子画刷的最小正方形外接框中的任意一像素点S的R、G、B颜色分量;Vcu代表当前毛笔电子画刷的R、G、B颜色分量,其初始值由用户根据自己需要而选定;Vbg代表背景色的R、G、B颜色分量;ws是外接框中像素点S的权值。确定毛笔电子画刷的颜色分布的过程实际上就是确定外接框中各像素点的权值的过程。
如2图所示,毛笔电子画刷上的像素点S的权值从中间往外逐层变小。设待求权值的像素点S的坐标为(x,y),其中x,y为整数,那么,该像素点S的权值通过图3所示的毛笔电子画刷的像素点权值确定方法确定:
步骤S210:判断像素点S(x,y)是否在毛笔电子画刷所对应的多边形(单边通的多边形)内部。
判断以(x,y)为起点的任一条射线与多边形的各边交点的总个数,如果是偶数个,则像素点S(x,y)为位于多边形之外的外点,此时,像素点S(x,y)的权值为0;如果是奇数个,则像素点S(x,y)为位于多边形内部的点,此时通过如下步骤S220和步骤S230来求得它的权值。
步骤S220:求得点S(x,y)到多边形的距离L,所述距离L是指点S(x,y)到多边形的各边的距离的最小值。
步骤S230:将L除以一个常数,这个常数的值根据经验确定,例如可以选择为6,这个常数的数值决定了画刷的边界的颜色深度。如果所述比值大于1,则像素点S的权值为1,如果小于1,像素点S的权值等于这个常数,例如6。
求得外接框中的各像素点的权值之后,利用上面的公式(2)求得各像素点的像素值,即颜色分量。
通过上述求像素点权值的方法可以看出,如果画刷足够大的话,最终的多边形画刷的中间为一个与画刷形状相似的小多边形,这个小多边形的所有像素点的权值为1,全部是全景色,而这个小多边形的外层逐层变淡,如图4所示。图4是毛笔电子画刷放大8倍后的效果图。在图4中,由于画刷的宽度比较小,所以最终的多边形比较小,图中没有权值为1的点。
另外,本发明的毛笔电子画刷的宽度可以随着画刷移动的速度而动态地改变,这会使通过上述方法确定了颜色分布的毛笔电子画刷可以模拟毛笔的轻重效果。本发明的毛笔电子画刷移动时的宽度确定如下:
当画刷从当前位置移动到下一个位置时,如果当前毛笔电子画刷的宽度wCur>wDst+wStep,则wCur=wCur-wStep;如果wCur<wDst-wStep,则wCur=wCur+wStep;其余情况下,保持当前毛笔电子画刷的宽度wCur不变。这样可以使得当前所要画的曲线段中,当前毛笔电子画刷的宽度wCur逐步接近wDst。其中,wDst表示毛笔电子画刷的目标宽度,其由当前的采样距离D确定,所述采样距离D是指系统根据输入设备(鼠标、手指或手写笔等)的移动按照一定的时间间隔而得到的当前采样点与上一个采样点之间的距离,毛笔电子画刷的目标宽度wDst越大,表示毛笔电子画刷画得越快;wStep表示当前毛笔电子画刷宽度变化的步长,该步长根据经验确定,例如可以取为0.20。如果该步长取得太大,则容易出现毛刺,如果取得太小,则变化不明显。
另外,使所述毛笔电子画刷的目标宽度wDst与采样距离D之间的关系为:当D小于等于某一预设值时,wDst=wPen,其中,wPen为当前用户设置的画刷宽度的最大值,该值表示整个画线过程中画刷的最大宽度,为一固定值;当采样距离D大于某一预设值时,wDst=k/D,其中k是经验值;当wDst<wMin时,wDst=wMin,其中wMin为当前用户设置的画刷宽度的最小值,该值表示整个画线过程中画刷的最小宽度,为一固定值。所述预设值可以为系统的最小精确度,例如可以为0.000001。
从上面所述可知,由于系统采样的时间间隔一定,所以画刷画线的速度越快,采样距离wDst越远,最终画出的线条越细,画刷画线速度越慢则所画出的线条越粗。图5示出了用上面所述方法所写的“中”字的最终效果图。
下面结合图6说明本发明的获得毛笔电子画刷的颜色分布的方法,如图6所示,包括如下步骤:
步骤S310:获得毛笔电子画刷的水平方向的最小正方形外接框,并将该外接框以一个像素长度划分成若干个方格,这样每个方格作为一个像素块,
步骤S320:通过图3所示的毛笔电子画刷的像素点权值确定方法确定所述外接框中各像素点的权值;
步骤S330:根据在步骤S320中确定的像素点的权值,通过上述公式(2)求得外接框中各像素点的颜色分量。
本发明上述的毛笔电子画刷的颜色表示方法相比于现有技术中通过面积求像素点权值,计算量小,运算效率较高。
在本发明的上述获得毛笔电子画刷的颜色分布的方法中,可以反复执行步骤S320和步骤S330,从而获得各像素点的红色分量、蓝色分量和绿色分量,即RGB值;也可以先在步骤S320中,求得外接框中的所有像素点的权值并且存储,然后在步骤S330中,根据在步骤S320中所求得的各像素点的权值求得各像素点的RGB值。
这样,当毛笔电子画刷移动时,在所述步骤S320中,求得当前位置的毛笔电子画刷的外接框中所有像素点的权值且存储,并且确定当前位置毛笔电子画刷的外接框与当前位置的前一位置毛笔电子画刷的外接框之间的公共像素点和不属于当前位置毛笔电子画刷的外接框的像素点,将公共像素点的权值更新为当前位置毛笔电子画刷的像素点的权值与当前位置的前一位置毛笔电子画刷的像素点的权值的叠加;在所述步骤S330中,根据所存储的不属于当前位置毛笔电子画刷的像素点的权值,求得外接框中各像素点的红色分量、蓝色分量和绿色分量。
下面以用鼠标在计算机屏幕上写字为例,具体说明本发明的描绘毛笔电子线条的方法。当用鼠标在计算机屏幕上画一条线时,如图7所示,具体包括如下步骤:
步骤S410:通过计算机系统按照一定的时间间隔进行采样而获得当前采样点P0,取系统当前的采样点P0以及将该点P0复制得到的三个点P0′、P0″、P0″′作为三次B样条曲线所需的四个控制点,其中三个复制点P0′、P0″、P0″′可以依次作为P0点之前的三个点P0′、P0″、P0″′。基于所确定的四个控制点P0′、P0″、P0″′、P0,通过三次B样条曲线方程,即公式(1),求出待书写笔画的起始点的坐标,根据所求得的起始点的坐标,在计算机屏幕上绘制出待书写笔画的起始点。
步骤S420,移动鼠标,通过计算机系统按一定时间间隔进行采样而所获得的采样点P1,取点P1和之前的三个点P0″、P0″′、P0作为四个控制点;基于该四个控制点,通过三次B样条曲线方程求出待描绘线条上的点的坐标,然后以在步骤S410中确定的起始点为起点,用反走样线段依次连接所求得的该待描绘线条上的点。
步骤S430,再移动鼠标,通过计算机系统按照一定的时间间隔进行采样而获得当前采样点P2,以当前采样点P2与之前的三个点P0″′、P0、P1作为三次B样条曲线所需的四个控制点。然后通过三次B样条曲线方程求得待描绘线条上的点的坐标,以在步骤S420中所画的线条的终点为起点,用反走样线段连接在此步骤中所求得的待描绘线条上的点。
步骤S440,再移动鼠标,通过计算机系统按照一定的时间间隔进行采样而获得当前采样点P3,以鼠标当前所在的点P3和其之前的三个点p0,p1,p2作为四个控制点。然后通过三次B样条曲线方程求得待描绘线条上的点的坐标,以在步骤S430中所画的线条的终点为起点,用反走样线段连接在此步骤中所求得的待描绘线条上的点。
以此类推,直至将待画线条画完。
上面所述步骤S410-S440,每个步骤实际上都是重复图1所示的本发明的描绘毛笔电子线条的方法,最后画出由几条曲线段组成的类似毛笔笔迹的电子线条。利用这种方法,每条曲线段连接时都是二阶连续的,即,没有明显的拐点,平滑度很好。另外,所用的毛笔电子画刷的颜色表示通过图6所示的方法而获得,并且毛笔电子画刷的宽度会随着其移动速度的快慢而动态地变化,从而使得最终描绘出的笔迹类似于用毛笔书写出来的笔迹。
为了更清楚地描述本发明,下面结合图8对上述步骤S440进行详细说明。如图8所示,设a-b段曲线是之前已经画好的一段曲线,b-c段曲线是当前要画的一段曲线。P3点是当前的采样点,p0,p1,p2为其之前的三个采样点。选取p0,p1,p2,p3为描画b-c段曲线所需的四个控制点;基于该四个控制点p0,p1,p2,p3,通过三次B样条曲线方程,即公式(1),求出b-c段曲线上的一系列点c0,c1,c2...的位置(即,确定x和y坐标),并用反走样线段将b-c0,c0-c1,c1-c2...依次连接起来,从而画出b-c段曲线。这里,由于曲线上的点c0,c1,c2......之间的间距比较小,所以将b、c0,c1,c2......,c各点连接起来而形成的b-c段曲线看起来是一段光滑的曲线,另外,由于b-c段曲线段与a-b段在b点光滑连接,所以整条曲线看上去比较光滑。
在b-c段曲线上所取的一系列点c0,c1,c2......可以以上述公式(1)中的参数u在0与1之间等间距地取值的方式来选取,也可以以一定的步长来选取,其中该步长根据经验来取得。步长越小,最终形成的曲线线条越光滑,但同时运算量越大,一般该步长取4到5个像素长度。
在描画上述b-c段曲线时,通常是一边求得曲线上的点的坐标一边用反走样线段依次连接各点。这样,不需要事先存储好所计算得到的各个点的坐标。当然也可以先确定bc段曲线上所取的一系点c0,c1,c2...的坐标,然后再用反走样线段依次连接,但是这需要存储各个点的坐标。
下面再结合图8说明“用反走样线段依次连接待描绘电子线条上的数个点”。在图8中,点b、c0、c1、c2、......、c依次用反走样线段连接,其中反走样线段是用毛笔电子画刷从所确定的一个点移动到下一个点所形成的轨迹。这里以用反走样线段连接b点和c0点为例具体说明。当用毛笔电子画刷连接b点和c0点时,毛笔电子画刷的中心从反走样线段的起点b点开始,以一定的步长p向反走样线段的终点c0点移动,这个步长p一般取一个像素长度,最好不要大于2个像素长度。通常,要画的反走样线段不一定是步长p的整数倍,到达要画的线段终点时可能会多余一小段距离s。在这种情况下,画下一段反走样线段时起点从下一段反走样线段的起点向其终点侧偏移一段距离p-s,其中s<p。例如,当毛笔电子画刷从b点画反走样线段b-c0时,如果画到终点c0时,还差p-s段距离才达到一个步长。这时,在画下一段反走样线段c0-c1时,则从c0开始向c1侧偏移一段距离p-s,即,实际上线段c0-c1不是以c0点为起点,而是以距c0距离为p-s的点为起点来画的。以此类推,依次画线段c1-c2...,直至画到b-c段曲线的终点c。
本发明还提供一种描绘毛笔电子线条的装置,其包括:点选取模块,用于选取四个点作为三次B样条曲线所需的控制点;线条描绘模块,用于根据所述四个控制点,利用三次B样条曲线方程,确定并用反走样线段连接待描绘电子线条上的数个点;毛笔电子画刷,其用来描绘所述反走样线段。
当用本发明的描绘毛笔电子线条的装置描绘一个点或者电子线条的起始点时,所述点选取模块选取当前的采样点作为三次B样条曲线的一个控制点,将该当前的采样点复制三个作为该控制点之前的三个控制点。其中所述采样点由计算机系统以一定的时间间隔进行采样而获取。
当用本发明的描绘毛笔电子线条的装置描绘与之前所描绘的电子线条或点相连接的电子线条时,所述点选取模块选取当前的采样点,并将该当前的采样点与其之前的三个采样点作为三次B样条曲线所需的四个控制点,所述线条描绘模块基于所述点选取模块所选定的四个控制点,利用三次B样条曲线方程,确定并用反走样线段连接待描绘毛笔电子线条上的数个点。
所述毛笔电子画刷在绘制反走样线段时,从反走样线段的起点开始,以一定的步长p向反走样线段的终点移动。当到达终点时多余一小段距离s,则画下一段反走样线段时毛笔电子画刷的起点从下一段反走样线段的起点向其终点侧偏移一段距离p-s。
所述毛笔电子画刷由毛笔电子画刷的设置装置900设置。如图9所示,所述毛笔电子画刷的设置装置900包括:形状和中心位置设定模块910,所述形状和中心位置设定模块910用于设定毛笔电子画刷的中心位置,并设定毛笔笔头形状的多边形作为毛笔电子画刷;宽度设定模块920,用于根据用户的需要设定多边形的宽度;宽度调节模块930,用于随着毛笔电子画刷移动的速度的变化而变化调节所述多边形的宽度,该毛笔电子画刷移动得越快,所述毛笔电子画刷对应的多边形越小。
所述毛笔电子画刷的设置装置900还包括:确定所述毛笔电子画刷的颜色分布颜色分布确定模块940。如图10所示,所述颜色分布确定模块940包括:权值确定子模块941、和颜色分布子模块943。
所述毛笔电子画刷权值确定子模块941,其在毛笔电子画刷对应的多边形的中心坐标和宽度一定的情况下,当以水平方向上包含毛笔电子画刷的最小正方形外接框中的每一像素点为起点的一条射线与所述多边形的各边交点的总个数为偶数个时,该像素点的权值为0;当为奇数个时,像素点S的权值ws根据该像素点S到毛笔电子画刷的多边形的各条边的距离的最小值与一个常数的比值确定,所述常数根据经验确定,当所述比值大于1时,像素点S的权值为1,当所述比值小于1时,像素点S的权值等于该常数。
颜色分布子模块943,其通过公式(2)求得各个像素点的像素值的颜色分量,并显示。
所述颜色分布确定模块940还可以包括权值存储子模块942,其存储毛笔电子画刷的外接框中各个像素点的权值,例如,可以将毛笔电子画刷的外接框中各个像素点的权值存储为一个数组构成的模板,该数组中的各元素分别对应于外接框中各像素点的权值。
当毛笔电子画刷移动时,所述权值确定子模块941可以确定当前位置的毛笔电子画刷的水平方向的最小正方形外接框,并获得当前外接框中各像素点权值,而且确定当前位置的毛笔电子画刷的外接框与当前位置的前一位置的外接框的公共像素点和不属于当前外接框的像素点,将公共像素点的权值更新为当前位置的前一位置毛笔电子画刷的公共像素点的权值与当前位置毛笔电子画刷的公共像素点的权值的叠加。所述权值存储子模块942存储不属于当前位置的前一位置外接框的像素点权值以及更新的公共像素点的权值;所述颜色分布子模块9 4 3根据权值存储子模块94 2中存储的不属于当前位置的前一位置的外接框中的像素点的权值,并求得相应像素点的颜色分量(即RGB值),然后显示。
另外,当画刷从当前位置移动到下一个位置时,所述宽度调节模块930比较当前毛笔电子画刷的宽度wCur和毛笔电子画刷的目标宽度wDst并调节毛笔电子画刷的宽度wCur。如果wCur>wDst+wStep,则wCur=wCur-wStep;如果wCur<wDst-wStep,则wCur=wCur+wStep;其余情况下为当前毛笔电子画刷的宽度wCur本身而保持不变,其中毛笔电子画刷的目标宽度wDst由当前的采样距离D所确定,该采样距离D是指系统根据鼠标移动以一定的时间间隔进行采样而得到的当前采样点与上一采样点之间的距离,wStep表示毛笔电子画刷宽度变化的步长,该步长是根据经验确定的固定值。
另外,所述毛笔电子画刷的目标宽度wDst与所述采样距离D之间的关系为:当采样距离D小于等于某一预设值时,wDst=wPen,其中wPen表示整个描绘过程中毛笔电子画刷的最大宽度且为一固定值;当采样距离D大于某一预设值时,wDst=k/D,k是根据经验取值;当wDst<wMin时,wDst=wMin,其中wMin表示整个描绘过程中毛笔电子画刷的最小宽度,所述预设值可以根据计算机系统的精确度确定,例如,D<0.000001。
采用本发明的毛笔电子画刷设置装置、描绘电子线条的毛笔电子画刷、毛笔电子线条描绘方法及装置,其绘制的笔迹线条粗细有致,类似真实的毛笔笔迹;而且毛笔电子画刷的颜色权值从中间向外层逐渐减小,使绘制的笔迹线条更美观。
尽管已经结合特定的实施例描述了本发明,但是并不是限定于此处描述的特定形式。而是,本发明的范围仅仅由权利要求限制。在权利要求中,术语“包括”不排除存在其它部件或步骤。此外,尽管各个特征可以包括在不同的权利要求中,但是这些特征可以被有利地组合,且在不同权利要求中包含的内容不意味着特征的组合是不可行和/或不利的。此外,单个的含义不排除多个。因此,“一个”、“第一”、“第二”等的含义不排除多个。此外,权利要求中的附图标记不应被解释为对范围的限制。
以上所述仅是本发明的具体实施方式,应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明精神的前提下,可以作出若干改进、修改、和变形,这些改进、修改、和变形都应视为落在本申请的保护范围内。
Claims (13)
1.一种描绘电子线条的毛笔电子画刷的设置装置,其特征在于,包括:
形状和中心位置设定模块,用于设定毛笔电子画刷的中心位置,并设定毛笔笔头形状的多边形作为毛笔电子画刷;
宽度设定模块,用于根据用户的需要设定所述多边形的宽度;
宽度调节模块,用于随着毛笔电子画刷移动的速度的变化而变化调节所述多边形的宽度,该毛笔电子画刷移动得越快,所述毛笔电子画刷对应的多边形越小。
2.根据权利要求1所述的毛笔电子画刷设置装置,其特征在于,还包括:
颜色分布确定模块,所述颜色分布确定模块进一步包括:
权值确定子模块,当以水平方向上包含毛笔电子画刷的最小正方形外接框中的每个像素点为起点的任一条射线与所述多边形的各边交点的总个数为偶数个时,该像素点的权值为0;当为奇数个时,像素点的权值根据该像素点到毛笔电子画刷的多边形的各条边的距离的最小值与一个常数的比值确定,所述常数根据经验确定,当所述比值大于1时,像素点的权值为1,当所述比值小于1时,像素点的权值等于该常数;
颜色分布子模块,其通过如下公式计算出毛笔电子画刷的颜色分布并显示:
Vs=ws×Vcu+(1-ws)×Vbg
其中,Vs代表在水平方向上包含毛笔电子画刷的最小正方形外接框中的任意一像素点S的R、G、B颜色分量,Vcu代表当前毛笔电子画刷的R、G、B颜色分量,Vbg代表背景色的R、G、B颜色分量,ws是像素点S的权值。
3.根据权利要求1或2所述毛笔电子画刷设置装置,其特征在于,
当所述毛笔电子画刷从当前位置移动到下一个位置时,所述宽度调节模块比较当前毛笔电子画刷的宽度wCur和毛笔电子画刷的目标宽度wDst并调节毛笔电子画刷的宽度wCur:
当wCur>wDst+wStep时,wCur=wCur-wStep;
当wCur<wDst-wStep时,wCur=wCur+wStep;
当wDst-wStep≤wCur≤wDst+wStep时,保持毛笔电子画刷的宽度wCur原宽度不变,
其中毛笔电子画刷的目标宽度wDst由当前的采样距离D所确定,该采样距离D是指系统根据输入设备移动以一定的时间间隔进行采样而得到的当前采样点与上一采样点之间的距离,wStep表示毛笔电子画刷宽度变化的步长,该步长是根据经验确定的固定值。
4.根据权利要求3所述的毛笔电子画刷设置装置,其特征在于,
所述毛笔电子画刷的目标宽度wDst与所述采样距离D之间的关系为:
当采样距离D小于等于某一预设值时,wDst=wPen,其中wPen表示整个描绘过程中毛笔电子画刷的最大宽度且为一固定值;
当采样距离D大于某一预设值时,wDst=k/D,k是根据经验取值;
当wDst<wMin时,wDst=wMin,其中wMin表示整个描绘过程中毛笔电子画刷的最小宽度,为固定值。
5.根据权利要求2所述的毛笔电子画刷设置装置,其特征在于,所述颜色分布确定模块还包括,
权值存储子模块,其将求得的毛笔电子画刷的最小正方形外接框中的各像素点的权值存储成为一个由数组构成的模板,所述数组中的各个元素对应于外接框中各个像素点的权值。
6.根据权利要求5所述的毛笔电子画刷设置装置,其特征在于,
当毛笔电子画刷移动,所述像素点权值确定模块确定当前位置的毛笔电子画刷的水平方向的最小正方形外接框,确定当前外接框中的各像素点的权值,并确定当前位置的毛笔电子画刷的外接框与当前位置的前一位置的外接框的公共像素点和不属于当前位置的前一位置的外接框的像素点,将在当前外接框中的像素点的权值和在当前位置的前一位置的外接框中的像素点的权值之和作为公共像素点的权值;
所述权值存储子模块存储所述像素点权值确定模块求得的不属于上一外接框的各像素点的权值、以及公共像素点的权值;
所述颜色分布子模块根据权值存储子模块中存储的不属于当前外接框的各像素点的权值,并计算出各像素点的红色分量、蓝色分量和绿色分量,然后显示。
7.一种毛笔电子画刷,其特征在于,由权利要求1-6所述的毛笔电子画刷设置装置设置而成。
8.一种应用如权利要求7所述毛笔电子画刷描绘线条的装置,其特征在于,包括:
点选取模块,采集用户的输入笔迹点中的四个点作为三次B样条曲线所需的控制点;
线条描绘模块,利用三次B样条曲线方程,基于点选取模块选取的所述控制点确定并用反走样线段连接待描绘电子线条上的数个点;
采用所述毛笔电子画刷描绘所述线条描绘模块得到的反走样线段。
9.根据权利要求8所述的装置,其特征在于,
所述毛笔电子画刷描绘所述线条描绘模块得到的反走样线段时,毛笔电子画刷的中心从反走样线段的起点开始,以一定的步长向反走样线段的终点移动。
10.根据权利要求9所述的电子线条描绘装置,其特征在于,
当毛笔电子画刷以一定的步长p从反走样线段的起点向其终点移动时,如果到达终点时多余一小段距离s,则画下一段反走样线段时毛笔电子画刷的起点从下一段反走样线段的起点向其终点侧偏移一段距离p-s,其中s<p。
11.一种应用如权利要求7所述毛笔电子画刷描绘线条的方法,其特征在于,包括:
点选取步骤,采集用户的输入笔迹点中的四个点作为三次B样条曲线所需的四个控制点,
线条描绘步骤,基于所述四个控制点,利用三次B样条曲线方程,确定并用反走样线段连接待描绘电子线条上的数个点,其中所述反走样线段所述毛笔电子画刷描绘。
12.根据权利要求11所述的电子线条描绘方法,其特征在于,
所述反走样线段采用毛笔电子画刷描绘包括:
所述毛笔电子画刷的中心从反走样线段的起点开始,以一定的步长向反走样线段的终点移动。
13.根据权利要求11所述的电子线条描绘方法,其特征在于,
所述反走样线段采用毛笔电子画刷描绘还包括:
当毛笔电子画刷以一定的步长p从反走样线段的起点向其终点移动时,如果到达终点时多余一小段距离s,则画下一段反走样线段时毛笔电子画刷的起点从下一段反走样线段的起点向其终点侧偏移一段距离p-s,其中s<p。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110274499.1A CN102999321B (zh) | 2011-09-15 | 2011-09-15 | 毛笔电子画刷设置装置和毛笔电子画刷 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110274499.1A CN102999321B (zh) | 2011-09-15 | 2011-09-15 | 毛笔电子画刷设置装置和毛笔电子画刷 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102999321A true CN102999321A (zh) | 2013-03-27 |
CN102999321B CN102999321B (zh) | 2016-08-10 |
Family
ID=47927931
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110274499.1A Active CN102999321B (zh) | 2011-09-15 | 2011-09-15 | 毛笔电子画刷设置装置和毛笔电子画刷 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102999321B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136777A (zh) * | 2011-12-02 | 2013-06-05 | 汉王科技股份有限公司 | 电子画刷生成方法及装置、电子画刷和电子设备 |
CN103559732A (zh) * | 2013-10-15 | 2014-02-05 | 锐达互动科技股份有限公司 | 一种生成毛笔笔迹的方法 |
CN106202283A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种自定义字段导出数据到Excel的方法 |
CN108597006A (zh) * | 2018-04-28 | 2018-09-28 | 掌阅科技股份有限公司 | 手写笔迹的绘制方法、计算设备及计算机存储介质 |
CN109445637A (zh) * | 2018-11-07 | 2019-03-08 | 合肥禾斗技汇科技有限公司 | 基于笔尖位置的笔迹处理方法 |
CN112102434A (zh) * | 2020-09-22 | 2020-12-18 | 深圳市皓丽智能科技有限公司 | 一种笔迹绘制方法、装置及设备 |
CN117522749A (zh) * | 2024-01-05 | 2024-02-06 | 深圳市欧冶半导体有限公司 | 图像校正方法、装置、计算机设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136770A1 (en) * | 2003-01-09 | 2004-07-15 | Audrey Muhr-Sweeney | Dual cleaning apparatus |
US20050147455A1 (en) * | 2003-01-09 | 2005-07-07 | Audrey Muhr-Sweeney | Dual cleaning apparatus |
CN101598979A (zh) * | 2008-06-05 | 2009-12-09 | 姚峥嵘 | 配合电容式触摸屏使用的软手写笔 |
CN101615092A (zh) * | 2009-08-11 | 2009-12-30 | 北京大业嘉成科技有限公司 | 电子毛笔及识别码定位触摸屏 |
-
2011
- 2011-09-15 CN CN201110274499.1A patent/CN102999321B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040136770A1 (en) * | 2003-01-09 | 2004-07-15 | Audrey Muhr-Sweeney | Dual cleaning apparatus |
US20050147455A1 (en) * | 2003-01-09 | 2005-07-07 | Audrey Muhr-Sweeney | Dual cleaning apparatus |
US7553100B2 (en) * | 2003-01-09 | 2009-06-30 | Audrey Muhr-Sweeney | Dual cleaning apparatus |
CN101598979A (zh) * | 2008-06-05 | 2009-12-09 | 姚峥嵘 | 配合电容式触摸屏使用的软手写笔 |
CN101615092A (zh) * | 2009-08-11 | 2009-12-30 | 北京大业嘉成科技有限公司 | 电子毛笔及识别码定位触摸屏 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136777A (zh) * | 2011-12-02 | 2013-06-05 | 汉王科技股份有限公司 | 电子画刷生成方法及装置、电子画刷和电子设备 |
CN103136777B (zh) * | 2011-12-02 | 2016-05-25 | 汉王科技股份有限公司 | 电子画刷生成方法及装置、电子画刷和电子设备 |
CN103559732A (zh) * | 2013-10-15 | 2014-02-05 | 锐达互动科技股份有限公司 | 一种生成毛笔笔迹的方法 |
CN103559732B (zh) * | 2013-10-15 | 2016-05-11 | 锐达互动科技股份有限公司 | 一种生成毛笔笔迹的方法 |
CN106202283A (zh) * | 2016-06-30 | 2016-12-07 | 国云科技股份有限公司 | 一种自定义字段导出数据到Excel的方法 |
CN108597006A (zh) * | 2018-04-28 | 2018-09-28 | 掌阅科技股份有限公司 | 手写笔迹的绘制方法、计算设备及计算机存储介质 |
CN108597006B (zh) * | 2018-04-28 | 2019-04-05 | 掌阅科技股份有限公司 | 手写笔迹的绘制方法、计算设备及计算机存储介质 |
CN109445637A (zh) * | 2018-11-07 | 2019-03-08 | 合肥禾斗技汇科技有限公司 | 基于笔尖位置的笔迹处理方法 |
CN112102434A (zh) * | 2020-09-22 | 2020-12-18 | 深圳市皓丽智能科技有限公司 | 一种笔迹绘制方法、装置及设备 |
CN117522749A (zh) * | 2024-01-05 | 2024-02-06 | 深圳市欧冶半导体有限公司 | 图像校正方法、装置、计算机设备和存储介质 |
CN117522749B (zh) * | 2024-01-05 | 2024-03-22 | 深圳市欧冶半导体有限公司 | 图像校正方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN102999321B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102999321A (zh) | 毛笔电子画刷设置装置和毛笔电子画刷 | |
US9268418B2 (en) | Simulation of an erodible tip in a natural media drawing and/or painting simulation | |
Chu et al. | Real-time painting with an expressive virtual Chinese brush | |
Follmer et al. | KidCAD: digitally remixing toys through tangible tools | |
US6373490B1 (en) | Using remembered properties to create and regenerate points along an editable path | |
US8917283B2 (en) | Polygon processing techniques in procedural painting algorithms | |
Xu et al. | A solid model based virtual hairy brush | |
US20130229391A1 (en) | Systems and Methods for Particle-Based Digital Airbrushing | |
CN103310474A (zh) | 一种手写原笔迹的实现方法及系统 | |
US20140081610A1 (en) | Methods and Apparatus for Simulation of a Stateful Brush Tip in a Natural Media Drawing and/or Painting Simulation | |
CN101751682B (zh) | 一种通用地图的制备方法 | |
CN102999930B (zh) | 一种电子笔迹线条描绘方法及装置 | |
CN105894551A (zh) | 图像绘制方法及装置 | |
CN108628455B (zh) | 一种基于触摸屏手势识别的虚拟沙画绘制方法 | |
CN113590000A (zh) | 笔迹处理方法、笔迹处理装置、存储介质 | |
CN108228998A (zh) | 基于web的电脑出格设计系统 | |
Fu et al. | Layerpaint: A multi-layer interactive 3d painting interface | |
Su et al. | Simulating artistic brushstrokes using interval splines | |
JP3722994B2 (ja) | 物体の接触感シミュレーション装置 | |
CN103838429A (zh) | 触摸屏上毛笔效果的绘制方法及系统 | |
Xu et al. | Virtual hairy brush for painterly rendering | |
US11809701B2 (en) | Handwriting forming method and apparatus, and electronic device | |
JP3722993B2 (ja) | 物体の毛並接触感シミュレーション装置 | |
US20240020893A1 (en) | Handwriting Forming Method and Apparatus, and Electronic Device | |
CN106708406B (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 |