绘制图形的方法及装置的制作方法

文档序号:6572164阅读:166来源:国知局
专利名称:绘制图形的方法及装置的制作方法
技术领域
本发明涉及一种在计算机中绘制图形的方法及其装置。
技术背景随着计算机应用的日益普及,计算机绘图技术也日益普遍,涉及美术、设 计、教育、军事以及会议等领域,通常情况下,计算机绘制图像是通过识别画 笔(鼠标)移动的时候的一些点,将这些点通过直线段按照画笔轨迹相连,得 到一条画笔折线,当取样点足够多的情况下,该折线即可以粗略地表示出画笔 的路径,但是,由于每一条折线的斜率不同,在两条直线相连接时会出现尖点, 导致书写出来的画笔轨迹出现^l多尖点,书写笔迹不平滑。现有技术中,为了减少画笔轨迹出现的尖点,有以下技术方案其一是在 画笔移动的过程中,每收集到4个点,即用三次的Bezier曲线(贝塞尔曲线) 将这些样本点连接起来,但是,由于每一段曲线之间只是简单的首尾连接,所 绘制的曲线仍然会有尖点出现;其二是通过釆用B样条函数来绘制曲线,但是 由于B样条曲线的凸包性/局部支撑性,导致绘制的曲线不仅有节点的出现,曲 线内部还会有凹凸出现;其三是通过使用Bezier曲线的一阶拼4妄或者Bezier 曲线的二阶拼接方法来绘图,其通过在前两个取样点连接线的延长线上增加附 加点,但是基于Bezier曲线的首尾连接性,仍然会有不平滑的情况出现。此外,在绘制图形过程中,由于用户书写时画笔的抖动现象,易导致书写 时产生锯齿、滞后、断笔的显像,影响书写笔迹的美观性及平滑性,在现有技 术中,尚未发现解决画笔抖动问题的处理方案。发明内容针对现有技术中所存在的问题,本发明的目的在于提供一种绘制图形的方 法及装置,可以有效防止尖点及抖动现象。为达到上述目的,本发明采用以下技术方案 一种绘制图形的方法,包括步骤 收集画笔笔迹路径上的采样点的位置坐标;当当前采样点与前一个釆样点的距离小于或等于预定第一距离时,丢弃当 前采样点;当当前采样点与前一个采样点的距离大于所述预定第一距离时,使用预定 模板计算当前采样点的修正位置坐标,并以修正后的位置坐标替换当前采样点 的位置坐标;使用基数样条曲线连接当前采样点与前一个采样点。 一种绘制图形的装置,包括采样点收集模块,用于收集画笔笔迹路径上的采样点的位置坐标;距离判别模块,用于判断当前采样点与前一个釆样点的距离是否大于预定 第一距离,若否,则丟弃当前采样点;采样点修正模块,用于当所述距离判别模块判断结果为是时,使用预定模 板计算当前采样点的修正位置坐标,并以该修正位置坐标替换当前采样点的位置坐标;画笔笔迹绘制模块,用于使用基数样条曲线连接当前采样点与前一个釆样点。根据本发明的绘制图形的方法及装置,其根据当前采样点与前一个采样点 之间的距离,来选择丢弃当前采样点或者对当前采样点的位置坐标进行修正, 在前后两个采样点的距离过小时,丢弃当前采样点,以防止釆样点集中在较小 的区域造成抖动现象,在前后两个采样点的距离较大时,则对当前釆样点的位 置坐标进行修正,将修正后的位置坐标替换当前采样点的位置坐标,防止前后 两个点的变换角度过大时会在转角处出现尖点的现象,且由于是通过基数样条 曲线来绘制画笔轨迹,而根据基数样条曲线的性质,每一个控制点只是影响前 后两段曲线,而对于其他区间的曲线没有影响,从而可以得到平滑的画笔书写轨迹,既防止了尖点现象,也防止了抖动现象。


图l是本发明实施例的绘制图形的方法的流程示意图; 图2是本发明实施例中的修正采样点的流程示意图; 图3是本发明平滑的书写笔迹的装置结构示意图。
具体实施方式
在本发明的绘制图形的方法及装置中,所涉及的位置坐标的单位可以根据 需要的不同有不同的选择方式,例如,可以以像素作为该位置坐标或者距离的 单位。本发明的绘制图形的方法,首先收集画笔笔迹路径上的采样点的位置坐标; 当当前采样点与前一个采样点的距离小于或等于预定第一距离时,丢弃当前采 样点;当当前采样点与前一个采样点的距离大于所述预定第一距离时,使用预 定模板计算当前采样点的修正位置坐标,并以修正后的位置坐标替换当前采样 点的位置坐标;然后使用基数样条曲线连接当前采样点与前一个采样点。根据本发明的绘制图形的方法,其根据当前采样点与前一个采样点的距离, 来选择将当前釆样点丢弃或者对当前采样点进行修正,即,当两个采样点的距 离过小时,丢弃当前采样点,以防止采样点集中在较小的区域造成抖动现象, 而当两个采样点的距离较大时,则对当前采样点的坐标进行修正,以防止前后 两个点的变换角度过大时会在转角处出现尖点的现象,且由于是通过基数样条 曲线来绘制画笔轨迹,由于基数样条中,每一个控制点只是影响前后两段曲线, 而对于其他区间的曲线没有影响,从而可以得到平滑的画笔书写轨迹,既防止了尖点现象,也防止了抖动现象。由于两个采样点之间的距离大于预定第一距离时,其大于该预定第一距离 的范围可大可小,为了针对两个采样点之间的距离的大小不同可以区别处理, 使所绘制图形的曲线更平滑,在对当前采样点的位置坐标进行修正时,其可以进一步包括以下步骤当当前采样点与前一个采样点的距离大于预定第二距离时,使用第一预定模板计算当前采样点的修正位置坐标;当当前采样点与前一个采样点的距离小于或等于所述预定第二距离时,使用第二预定模板计算当前釆样点的修正位置坐标。从而当两个釆样点之间的距离较大时,针对该距离大于所述预定第一距离的程度,可以有区别性的处理,防止了距离过大时所修正的位置坐标与采样点的原位置坐标相差过大。一l 1其中,所述第一预定模板包括丄 ,所述第二预定模板包括丄3.3 1 1 41 1 1 1因此,在当前采样点与前一个采样点的距离较大的情况下,根据该距离大小的程 度的不同,选用不同的模板来对当前采样点的位置坐标进行修正,从而可以得 到更平滑的书写笔迹。计算所述修正位置坐标的方法包括将当前采样点的位置坐标以及在画笔 笔迹路径上在当前采样点之前的3个采样点的位置坐标组成二维矩阵,使用第 一预定模板或者第二预定模板对所述二维矩阵求平均值,将该平均值作为修正 位置坐标。从而,该修正位置坐标不仅与其初始的位置坐标有关,还与其之前3 个采样点的位置坐标相关,实现邻域运算。此外,所述预定第一距离大于等于3且小于等于5,所述预定第二距离大于 等于8且小于等于12,从而可以根据需要选择适当的预定第一距离、预定第二 距离。参见图1所示,是本发明实施例的绘制图形的方法的流程示意图,包括步骤步骤S101:收集画笔(鼠标)笔迹路径上的釆样点的位置坐标,由于画笔 (鼠标)移动时并不是真正地进行书写,只能在画笔移动时识别在画笔路径上 的采样点的位置坐标,并根据这些采样点的位置坐标来描绘出画笔轨迹;步骤S102:判断当前采样点与前一个釆样点的距离是否大于预定第 一距离, 若是,进入步骤S103,若否,则丢弃当前釆样点,返回步骤S101;由于通过画笔来进行书写时,在画笔移动緩慢的情况下,采样点会集中在 一个较小的区域内,若要使用全部的这些点来形成画笔轨迹,会造成线条出现重叠的情况,导致出现抖动现象,若将距离太近的采样点予以丟弃,则可以防止抖动的出现;步骤S103:使用预定模板计算修正位置坐标,并以该修正位置坐标替换当 前采样点的位置坐标,进入步骤S104;步骤S104:使用基数样条曲线绘制画笔笔迹路径,即通过采样基数样条曲 线连接当前采样点与前一个采样点,进入步骤S105;步骤S105:获取新的采样点,进入步骤S102。在画笔移动过程中,重复执行上述步骤S102至S105,即可在画笔移动过程 中,平滑地绘制出画笔轨迹。根据本发明的绘制图形的方法,其根据当前采样点与前一个采样点之间的 距离,来选择丢弃当前采样点或者对当前采样点的位置坐标进行修正,当距离 过小时,丢弃当前采样点,以防止采样点集中在较小的区域造成抖动现象,当 距离较大时,则对当前采样点的位置坐标进行修正,以修正后的位置坐标替换 当前采样点的位置坐标,防止前后两个点的变换角度过大时会在转角处出现尖 点的现象,且由于是通过基数样条曲线来绘制画笔轨迹,由于根据基数样条的 性质,每一个控制点只是影响前后两段曲线,而对于其他区间的曲线没有影响, 从而可以得到平滑的画笔书写轨迹,既能防止尖点现象,也能防止抖动现象。其中,在所述步骤S102中,由于计算机屏幕分辨率通常以像素来表示,所 述第一预定距离可以以像素为单位来进行判定,且该第一预定距离最好是大于 或等于 3 个像素其小于或等于 5 个像素,即 3个4象素《预定第一距离<5个#^素,从而可以有效防止采样点集中在较小的区域内造成抖动现象,且该第一预定距离可以优先选择为3个像素。如图2所示,是本发明实施例中的修正采样点的流程示意图,具体包括以 下步骤步骤S201:判断当前采样点与前一个采样点的距离是否大于预定第二距离, 若是,进入步骤S202,若否,进入步骤S203,其中,该第二预定距离大于第一预定距离;步骤S202:使用第一预定模板计算当前采样点的修正位置坐标,进入步骤 S204j步骤S203:使用第二预定模板计算当前釆样点的修正位置坐标,进入步骤 S204j步骤S204:利用修正后的位置坐标替换当前采样点的位置坐标。其中,所述步骤S201中,所述预定第二距离可以是以像素为单位来进行判 定,且该预定第二距离的设定可以根据需要有不同的设定值,优选为大于或者 等于8个像素且小于或者等于12个像素,从而可以防止前后两个点的距离过大 时,由于笔划的变化角度过大,造成尖点的现象,其中,该预定第二距离可以 优选为IO个像素。所述步骤S202中,所述第一预定模板在一个系统中是固定的,对于不同的系统可以采用不同的模板,且该模板最好是二维矩阵,且为丄3.3正位置坐标的方法为在画笔笔迹书写的过程中,取笔迹路径上在当前采样点 之前的3个采样点,以这3个采样点以及当前采样点的位置坐标组成二维矩阵, 使用第 一预定模板对该二维矩阵求取平均值,并以该平均值作为修正位置坐标。 其中,所述模板的运算方式是巻积运算,即,以该模板作为巻积运算中的巻积 核,巻积运算过程即为作加权和的过程,以二维矩阵中的每个位置坐标与巻积 核中的每一个元素相乘,乘积求和所得的结果即为该修正位置坐标。所述步骤S203中,所述第二预定模板最好是丄4的方法与所述步骤S202中的相同,在此不予赘述。如图3所示,是本发明的绘制图形的装置示意图,其包括 釆样点收集模块301,用于收集画笔笔迹路径上的采样点的位置坐标; 距离判别模块302,用于判断当前采样点与前一个采样点的距离是否大于预,其计算修,其计算修正位置坐标定第一距离,若否,则丢弃当前采样点;釆样点修正模块303,用于当所述距离判别模块302判断结果为是时,使用 预定模板计算当前采样点的修正位置坐标,并以该修正位置坐标替换当前采样 点的位置坐标;画笔笔迹绘制才莫块304,用于使用基数样条曲线绘制画笔轨迹,即通过使用 基数样条曲线连接当前采样点及前一个采样点。根据本发明的绘制图形的装置,其通过对当前采样点与前一个采样点之间 的距离的判断,当距离过小时,丢弃当前采样点,以防止采样点集中在较小的 区域造成抖动现象,当距离较大时,则对该采样点的位置坐标进行修正,将修 正位置坐标替换当前采样点的位置坐标,防止前后两个点的变换角度过大时会 在转角处出现尖点的现象,且由于是通过基数样条曲线来绘制画笔轨迹,而根 据基数样条曲线的性质,每一个控制点只是影响前后两段曲线,而对于其他区 间的曲线没有影响,从而可以得到平滑的画笔书写轨迹,既能防止尖点现象, 也能防止抖动现象。此外,所述预定第一距离,可以根据系统需求或者精确度的不同可以有不 同的选定方式,其可以以像素为单位来进行判定,且该第一预定距离最好是大 于或等于 3 个像素且小于或等于 5 个像素,即 3个^(象素<预定第一距离<5个^[象素,从而可以有效防止采样点集中在较小的 区域内造成抖动现象,且该第一预定距离可以优选为3个像素。所述采样点修正模块303,还可以具体包括第二距离判别模块,用于判断当前采样点与前一个釆样点的距离是否大于 预定第二距离,所述预定第二距离大于所述预定第一距离;第一修正模块,用于当第二距离判别模块判断结果为是时,使用第一预定 模板计算修正位置坐标,并以该修正位置坐标替换当前采样点的位置坐标;以 及第二修正模块,用于当第二距离判别模块判断结果为否时,使用第二预定模板计算修正位置坐标,并以该修正位置坐标替换当前采样点的位置坐标。其中,所述预定第二距离可以是以像素为单位来进行判定,且该预定第二距离的设定可以根据需要有不同的设定值,最好是大于或者等于8个像素且小 于或者等于12个像素,从而可以防止前后两个点的距离过大时,由于笔划的变 化角度过大,造成尖点的现象,其中,该预定第二距离可以优选为IO个像素。3.3此夕卜,所述第一预定模板可以是丄1 1 ,所述第二预定模板可以是丄1 141 1 1 1根据模板计算修正位置坐标的方法包括由于该模板是二维矩阵,因此,在画 笔笔迹书写的过程中,取笔迹路径上在当前釆样点之前的3个采样点,以这3 个采样点以及当前采样点的位置坐标组成二维矩阵,使用第一预定模板或者第 二预定模板对该二维矩阵求平均值,以该平均值坐标作为该当前采样点的新的 位置坐标,得到修正后的采样点。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在 本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明 的权利要求保护范围之内。
权利要求
1、一种绘制图形的方法,包括步骤收集画笔笔迹路径上的采样点的位置坐标;当当前采样点与前一个采样点的距离小于或等于预定第一距离时,丢弃当前采样点;当当前采样点与前一个采样点的距离大于所述预定第一距离时,使用预定模板计算当前采样点的修正位置坐标,并以修正后的位置坐标替换所述当前采样点的位置坐标;使用基数样条曲线连接所述当前采样点与所述前一个采样点。
全文摘要
本发明公开了一种绘制图形的方法及装置,其通过对当前采样点与前一个采样点之间的距离进行判断,当前后两个采样点的距离过小时,丢弃当前采样点,以防止采样点集中在较小的区域造成抖动现象,当前后两个采样点的距离较大时,则对当前采样点的位置坐标进行修正,以修正位置坐标替换当前采样点的位置坐标,防止前后两个点的变换角度过大时会在转角处出现尖点的现象,并通过基数样条曲线来绘制画笔轨迹,由于基数样条中,每一个控制点只是影响前后两段曲线,而对于其他区间的曲线没有影响,从而可以得到平滑的画笔书写轨迹,既防止了尖点现象,也防止了抖动现象。
文档编号G06T11/80GK101216945SQ200710032758
公开日2008年7月9日 申请日期2007年12月26日 优先权日2007年12月26日
发明者李俊文, 胡粤川, 陈先志 申请人:广东威创视讯科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1