首页> 中国专利> 可模拟不同笔触的手写笔

可模拟不同笔触的手写笔

摘要

一种手写笔包含:笔尖;位置传感器,检测笔尖在手写板上的主要位置座标以产生主要位置数据;压力传感器,检测笔尖施加压力以产生压力值。手写笔经信号传输线连接主系统,以将主要位置数据及压力值传至主系统。主系统具有笔触模拟装置,处理主要位置数据及压力值以模拟不同笔触,它包含:压力-半径转换组件,接收压力值并使之转换成半径数据;正向量产生组件,接收主要位置数据并据此产生正向量数据;疏密位置产生组件,连接压力-半径转换组件与正向量产生组件,根据半径数据与正向量数据产生多个疏密位置数据;以及笔触产生组件,根据笔尖各主要位置数据画出主线条并根据疏密位置数据画出多条疏密线条,各主要位置数据对应于多个疏密位置数据。

著录项

  • 公开/公告号CN1598869A

    专利类型发明专利

  • 公开/公告日2005-03-23

    原文格式PDF

  • 申请/专利权人 宏碁股份有限公司;

    申请/专利号CN03158995.2

  • 发明设计人 刘振铎;

    申请日2003-09-17

  • 分类号G06K11/06;G06K11/18;

  • 代理机构上海专利商标事务所;

  • 代理人任永武

  • 地址 台湾省台北县221汐止市新台五路一段88号8楼

  • 入库时间 2023-12-17 16:04:13

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-11-09

    未缴年费专利权终止 IPC(主分类):G06F3/033 授权公告日:20071128 终止日期:20150917 申请日:20030917

    专利权的终止

  • 2007-11-28

    授权

    授权

  • 2005-06-01

    实质审查的生效

    实质审查的生效

  • 2005-03-23

    公开

    公开

说明书

(1)技术领域

本发明有关一种手写笔,尤其是关于一种可模拟不同笔触的手写笔。

(2)背景技术

近几年来,手写装置已经成为愈来愈普遍的输入装置。一般而言,手写装置包含一个手写板以及一支手写笔,使用者可以利用手写笔在手写板上书写,以取代利用键盘输入数据的方式。常见的手写装置包含Tablet PC,其具有一平板手写液晶屏幕以及一电磁感应式触控笔(有线/无线),以及WACOM数字版、绘图版,其包含感应式绘图板(数字版)以及(有线/无线)感应笔。除此之外,使用者必须安装识别软件,例如Photoshop等绘图软件,于电脑中,以用来识别使用者利用手写装置所输入的文字。

识别软件必须识别出手写笔在手写板上的位置,即座标位置(X,Y)以及使用者书写的力道,即压力值,才可以模拟出不同风格的笔触。然而,由于所获得的数据有限,因此,目前的绘图软件,例如Photoshop、CorelDraw、Painter等,在模拟笔触的功能上仍有很大的不足之处。

(3)发明内容

因此,本发明的主要目的在于提供一种可模拟不同笔触的手写笔,其可以根据使用者的书写力道模拟出不同的笔触风格,使得绘图软件的模拟笔触的功能更趋完备。

本发明的手写笔包含:一笔尖;一位置传感器,用来检测笔尖在一手写板上的主要位置座标,以产生一主要位置数据;一压力传感器,用来检测笔尖施加于手写板上的压力,以产生一压力值。手写笔是经由一信号传输线连接于一主系统,并且经由信号传输线,将主要位置数据以及压力值传送至主系统。主系统具有一笔触模拟装置,用来处理主要位置数据以及压力值,以模拟出不同的笔触。笔触模拟装置包含一压力-半径转换组件,用来接收压力值,并且将压力值转换成一半径数据;一正向量产生组件,用来接收主要位置数据,并且根据主要位置数据,产生一正向量数据;一疏密位置产生组件,连接于压力-半径转换组件与正向量产生组件,用来根据半径数据与正向量数据,以在主要位置数据的正向量方向上,产生多个疏密位置数据,用来表示多个疏密位置座标;以及一笔触产生组件,用来根据笔尖在不同时间的主要位置数据,画出一主线条,并且根据疏密位置数据,画出多条疏密线条,其中每一主要位置数据是对应于多个疏密位置数据。

(4)附图说明

图1为本发明的手写笔的示意图。

图2为圆的半径与压力值的关系图。

图3为本发明的手写笔连接于主系统的示意图。

图4显示多个疏密位置座标。

图5显示主线条以及疏密线条。

图6为笔触产生组件的笔触产生方法的流程图。

图7为笔触产生组件所产生的笔触的示意图。

图8笔触产生组件的示意图。

图9是渲染位置座标的示意图。

图10为不同笔触的示意图。

(5)具体实施方式

请参考图1。图1为本发明的手写笔10的示意图。手写笔10是搭配一手写板12来使用。如图所示,手写笔10包含一笔尖11,而使用者利用手写笔10在手写板12上所完成的笔划14是由多个圆16所构成,而圆16的圆心是以O表示,而其半径则为

请参考图2。图2为圆16的半径与压力值Z的关系图。如图所示,当使用者书写力道愈大时,即手写笔10的压力值Z愈大时,圆16的半径就会愈大。换句话说,根据不同的压力值Z,手写笔10会在不同的时间点产生大小不同的圆16于手写板12上,以形成笔触14。其中,是预设的最大半径数据。

请参考图3。图3为本发明的手写笔10连接于主系统21的示意图。手写笔10包含一位置传感器18,以及一压力传感器20。位置传感器18是用来检测笔尖11在手写板12上的主要位置座标Oi,以产生一主要位置数据。主要位置座标Oi即是手写笔10在时间ti时所产生的圆16的圆心,其可以表示为座标(Xi,Yj)。压力传感器20是用来检测笔尖11施加于手写板12上的压力,以产生一压力值Z。

手写笔10是经由一信号传输线(未显示)连接于主系统21,并且经由信号传输线,将主要位置数据以及压力值传送至主系统21。主系统具有一笔触模拟装置23,例如,绘图软件或识别软件,用来处理主要位置数据以及压力值,以模拟出不同的笔触。

笔触模拟装置23包含一压力-半径转换组件22,一正向量产生组件24,一疏密位置产生组件26,以及一笔触产生组件28。压力-半径转换组件22则是用来接收压力值Z,并且利用一压力-半径转换公式,将压力值Z转换成半径数据压力-半径转换公式是根据图2所示的半径与压力值Z的关系图所取得的,其是表示为:

正向量产生组件24是用来接收主要位置数据,并且根据主要位置数据,产生一正向量数据。正向量产生组件24首先根据主要位置数据以取得笔尖11位于主要位置座标Oi上的瞬间方向,其计算公式是表示为:

>>>V>i>>=>>>>O>i>>->>O>>i>->1>>>>>|>>O>i>>->>O>>i>->1>>>|> >;>>>

其中Vi表示笔尖11在时间ti的瞬间方向,Oi表示笔尖11在时间ti的主要位置座标,而Oi-1表示笔尖11在时间ti-1的主要位置座标。假设Vi=(x,y),则正向量数据Ni=(-y,x)。

疏密位置产生组件26是连接于压力-半径转换组件22与正向量产生组件24,用来根据半径数据与正向量数据Ni,以在主要位置座标Oi的正向量方向上,产生多个疏密位置数据,以用来表示多个疏密位置座标bij

请参考图4。图4显示多个疏密位置座标bij。疏密位置产生组件26是利用一疏密位置产生公式来产生多个疏密位置数据bij。此公式是表示为:

其中,Oi表示笔尖11在时间ti的主要位置座标,为半径数据,Ni为正向量数据,n为一系统预设值,用来决定疏密位置数据的个数,而bi,j表示第i个主要位置座标的第j个疏密位置座标。其中,手写笔10所绘出的笔划14是包含m个主要位置数据,而每一个主要位置数据是对应于n个疏密位置数据。如图所示,主要位置座标Oi是对应于多个疏密位置座标bi,j。

请参考图5。图5显示主线条L以及疏密线条l1~l10。笔触产生组件28是用来根据笔尖11在不同时间ti-1、ti、ti+1的主要位置座标Oi-1、Oi、Oi+1,画出主线条L,并且根据疏密位置座标bi-1,j、bi,j、bi+1,j,画出疏密线条l1~l10。如图所示,每一主要位置座标是对应于10个疏密位置座标。

请参考图6。图6为笔触产生组件28的笔触产生方法30的流程图。笔触产生组件28是利用笔触产生方法30来产生主线条L以及疏密线条l1~l10。假设主线条L是由m个主要座标位置所组成,而每一主要位置座标是对应于n个疏密位置座标。如图5所示,在此例中,m=3,而n=10。

在步骤32中,笔触产生组件28会计算第i个与第i+1个位置座标的切线向量Ti与Ti+1,其公式为:

其中Pi+1表示第i+1个位置座标,而Pi表示第i个位置座标。

在步骤34中,笔触产生组件28会利用混合函数(Blending functions)以计算第i个与第i+1个位置座标间的内插值,此混合函数是表示为:

在步骤36中,笔触产生组件28会获得一基数曲线(Cardinal Splines Curve),其公式为:

>ver>>P>→>>=>ver>>P>→>>i>>*>>h>1>>+>ver>>P>→>>>i>+>1>>>*>>h>2>>+>ver>>T>→>>i>>*>>h>3>>+>ver>>T>→>>>i>+>1>>>*>>h>4>>.>>>

最后,在步骤38中,笔触产生组件28会计算出第i个与第i+1个位置座标之间的中间座标位置,并且将所有的座标位置连接起来,以产生一平顺的曲线。此中间座标位置的计算公式为:

P=S*h*C;其中 >>S>=> >>>>s>3>>>>>>>s>2>>>>>>>s>1>>>>>>1>>> >>> >>C>=> >>>>P>i>>>>>>>P>>i>+>1>>>>>>>>T>i>>>>>>>T>>i>+>1>>>>> >>> >>h>=> >>>2>>>->2>>>1>>>1>>>>>->3>>>3>>>->2>>>->1>>>>>0>>>0>>>1>>>0>>>>>1>>>0>>>0>>>0>>> >.>>>

请参考图7。图7为笔触产生组件28所产生的笔触的示意图。在笔触产生组件28利用笔触产生方法30连接所有主要位置座标以画出主线条,并且连接所有疏密位置座标以画出所有的疏密线条的后,就可以产生如图7所示的笔触。

此外,笔触产生组件28另包含各种不同的参数产生组件,用来产生不同的参数设定,以模拟出不同的笔触风格。

请参考图8。图8笔触产生组件28的示意图。笔触产生组件28包含一颜色参数产生组件40、一速率参数产生组件42、一速率-颜色参数产生组件44、一深浅参数产生组件46、一渲染参数产生组件48、一间断参数产生组件50,以及一笔触颜色参数产生组件52。

颜色参数产生组件40是用来藉由一乱数产生组件(未显示)来产生对应于主要位置数据与疏密位置数据的颜色参数,以决定主线条L以及疏密线条l1~l10上的各位置点的颜色。颜色参数产生组件是利用一颜色参数产生公式来产生颜色参数ρi。此公式是表示为:

一般而言,ρ1与ρ2的值会设定得较为接近,以免落差过大。

速率参数产生组件42是用来产生对应于主要位置数据与疏密位置数据的速率参数,以表示手写笔10在每一位置点上的瞬间速率。速率参数产生组件42是利用一速率参数产生公式来产生速率参数V。此公式是表示为:

>>V>=>f>>(>v>)>>=>>(>>sup>>v>max>3sup>>->>>3>v>>max>>>v>2>>+>>>2>v>>3>>sup>>v>max>3sup> >)>>;>>>

其中v表示手写笔10在主要位置座标的瞬间速率,而vmax表示一预设的最大速率值。

当书写时,因为瞬间速率的不同而使得笔墨有不同浓淡的表现。一般而言,瞬间速率愈大时,笔墨的颜色会愈淡。因此,速率-颜色参数产生组件44是用来根据颜色参数以及速率参数,产生一速率-颜色参数,以呈现上述瞬间速率与笔墨浓淡的关系。速率-颜色参数产生组件44是利用一速率-颜色参数产生公式来产生速率-颜色参数ρi。此公式是表示为:

ρ′i=ρi*V。

深浅参数产生组件46是用来根据压力值Z,产生对应于主要位置数据与疏密位置数据的深浅参数。毛笔或水彩笔等软性笔在书写或绘画时,通常会有愈描愈淡的现象。因此,主要位置数据会具有最大的深浅参数,而距离主要位置数据愈远的疏密位置数据则具有愈小的深浅参数,使得主线条L最深,而距离主线条L愈远的疏密线条则愈浅,以呈现出浓度变淡的情况。

一般而言,当压力愈小时,也就是书写的施力愈小时,笔触浓度变淡的情况会愈明显,而当压力愈大时,笔触浓度变淡的情况则愈不明显。例如,当用力书写时,笔划的浓度通常会特别浓且均匀,即几乎没有变淡的情况发生。因此,如上所述,深浅参数产生组件46是根据压力值Z来产生深浅参数。

此外,深浅参数产生组件46是利用一深浅参数产生公式来产生深浅参数λ。此公式是表示为:

λ=(1-λ0)(1-e-az)+λ0;其中a是一个由使用者定义的常数,而z为压力值,λ0为深浅参数的预设值。

由于,当书写的施力很大时,笔划的浓度会特别浓,且会非常均匀,几乎没有变淡的情况发生,因此,在上述公式中,当压力值大于一预定值时,深浅参数会是一个常数。

一般而言,毛笔与水彩笔在书写与绘画时,都会呈现渲染或扩张的现象,因此,每一笔触线条会有不同的粗细程度。当笔尖停留的时间愈久,渲染的程度就会愈大,而渲染参数产生组件48就是用来模拟此渲染现象。

渲染参数产生组件48是用来根据主要位置数据以及半径数据产生多个渲染位置数据,以表示多个渲染位置座标。

请参考图9。图9是渲染位置座标qi的示意图。每一主要位置数据是对应于多个渲染位置数据,即每一个主要位置座标Oi是对应于多个渲染位置座标qi。渲染参数产生组件48包含一渲染参数D,用来决定每两个渲染位置座标qi之间的距离,并且利用一渲染位置产生公式来产生渲染位置座标,以使得距离主要位置座标Oi愈远的渲染位置座标qi之间的距离愈小。此公式是表示为:

>>>>∂>q>>>∂>t> >=>D>>▿>2>>q>;>>>

其中此公式是利用有限差分法(finite difference method)来展开如下:

>>⇒>>>>q>>i>+>1>>>→>>q>>i>->1>>>>>2>t> >=>D>·>>(>>q>>i>+>1>>>->>>2>q>>i>>+>>q>>i>->1>>>)>>>>

>>⇒>>q>>i>+>1>>>=>>q>>i>->1>>>+>>>2>Dt>·>q>>>i>+>1>>>->>>4>Dtq>>i>>+>>>2>Dtq>>>i>->1>>>>>

>>⇒>>q>>i>+>1>>>=>>(>>1>>1>->2>Dt> >)>>>(>>>->4>Dtq>>i>>+>>(>1>+>2>Dt>)>>>q>>i>->1>>>)>>.>>>

如上所述,在超过半径以外的范围,会计算出多个渲染位置座标,而渲染位置座标之间之间距会渐渐变小,最后会趋近于零。因此,在笔触形成的时候,会呈现笔触向外增长的现象,而增长速率会渐渐缓慢,最后趋近于零。根据渲染参数D的不同设定,其增长速率变化也会有不同,进而呈现出不同的渲染现象。

以上为模拟渲染现象的位置变化,至于颜色值的变化,也可以套用上述公式来求得渲染现象的颜色变化。因此,上述的每一渲染位置数据是对应于一渲染颜色数据,而渲染参数产生组件48同样会利用渲染参数D,以决定每两个渲染颜色数据之间的颜色变化,并且利用上述公式来产生渲染颜色数据,以使得距离主要位置数据愈远的渲染位置数据的渲染颜色数据之间的差异愈小。因此,会呈现出颜色渐渐变淡的渲染效果。

此外,笔划14会因为毛笔或水彩笔的材质不同,而产生间断的现象,即笔划14的某些部分会是空白的,而间断参数产生组件50则是用来模拟此间断现象。

间断参数产生组件50会产生对应于主要位置数据与疏密位置数据之间断参数,以决定主要位置数据与疏密位置数据是否会被显现。间断参数产生组件50包含一预设之间断参数设定表,具有多个间断参数,以对应于主要位置数据与疏密位置数据。当间断参数为第一值时,其所对应的位置数据会被显现出来,而当间断参数为第二值时,其所对应的位置数据则不会被显现出来。

因此,藉由间断参数的设定,笔划14中的某些位置点会是空白的,使得线条呈现间断的现象。间断参数d可以表示为:

d=dTable(i);其中d∈[0,1]。

当间断参数为0时,其所对应的位置数据所代表的位置点会是空白的,而当间断参数为1时,其所对应的位置数据所代表的位置点会显现出来。

除了利用上述的个别的参数产生组件来产生参数设定之外,笔触产生组件28还包含一个笔触颜色参数产生组件52,以结合上述的数个参数以产生一个笔触颜色参数。

笔触颜色参数产生组件52是根据颜色参数产生组件40所产生的颜色参数ρi、速率参数产生组件42所产生的速率参数V、深浅参数产生组件46所产生的深浅参数λ,以及间断参数产生组件50所产生之间断参数d,以产生一笔触颜色参数。笔触颜色参数产生组件52是利用一笔触颜色参数产生公式来计算出笔触颜色参数Ci,j。此公式是表示为:

     Ci,j=λ*Ci,j-1*d*V;

如上所述,手写笔10所绘出的笔划14是包含m个主要位置数据,而每一个主要位置数据是对应于n个疏密位置数据,而Ci,j表示第i个主要位置座标的第j个疏密位置座标所对应的笔触颜色参数。

请参考图10。图10为不同笔触的示意图。利用本发明的手写笔10可以模拟出不同的笔触,图中所示只是其中的两种,而主系统21会将所模拟出来的笔触,显示于其所连接的屏幕上。

虽然本发明已参照较佳具体例及举例性附图叙述,但其应不被认为其是限制性的。熟悉本技术的人员在不离开本发明的范围内,当可对其形态及特殊具体例的内容作各种修改、省略及变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号