CN102576256A - 用于在显示表面上绘制和擦除书法墨水对象的方法和装置 - Google Patents
用于在显示表面上绘制和擦除书法墨水对象的方法和装置 Download PDFInfo
- Publication number
- CN102576256A CN102576256A CN2010800466478A CN201080046647A CN102576256A CN 102576256 A CN102576256 A CN 102576256A CN 2010800466478 A CN2010800466478 A CN 2010800466478A CN 201080046647 A CN201080046647 A CN 201080046647A CN 102576256 A CN102576256 A CN 102576256A
- Authority
- CN
- China
- Prior art keywords
- ink
- calligraphy
- envelope
- generate
- coordinate
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
- G06F3/04883—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/14—Image acquisition
- G06V30/142—Image acquisition using hand-held instruments; Constructional details of the instruments
- G06V30/1423—Image acquisition using hand-held instruments; Constructional details of the instruments the instrument generating sequences of position coordinates corresponding to handwriting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/32—Digital ink
- G06V30/333—Preprocessing; Feature extraction
- G06V30/347—Sampling; Contour coding; Stroke extraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
- G06T11/203—Drawing of straight lines or curves
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
一种生成书法墨水对象的方法,包括:对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由该坐标输入设备生成的接触坐标进行采样;生成墨水包迹,所述墨水包迹包括将采样接触坐标处的指示器实例相连接的线段;至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及在显示器上绘制所述平滑墨水包迹以由此生成书法墨水对象。
Description
技术领域
本发明涉及一种用于在显示表面上绘制和擦除书法墨水对象的方法和装置。
背景技术
允许用户使用主动式指示器(例如,发射光、声音或其它信号的指示器)、被动式指示器(例如,手指、圆柱体或其它适当对象)或者例如鼠标或轨迹球之类的其它适当输入设备向应用程序中注入输入(例如,数字墨水、鼠标事件等)的交互式输入系统是已知的。这些交互式输入系统包括:诸如转让给本申请受让人加拿大Alberta,Calgary的SMART Technologies ULC的美国专利No.5,448,263、6,141,000、6,337,681、6,747,636、6,803,906、7,232,986、7,236,162和7,274,356所公开的那些包括采用模拟电阻或机器视觉技术来记录指示器输入的触摸板的触摸系统,其全文通过引用合并于此;包括采用电磁、电容、声音或其它技术来记录指示器输入的触摸板的触摸系统;平板式个人计算机(PC)、膝上PC、个人数字助理(PDA)和其它类似设备,但是并不局限于此。
已经考虑了从用户的手写输入(即,普通墨水)生成书法墨水的多种应用。例如,这些应用包括MicrosoftTM的Tablet PC应用以及在Inkscape Open Source矢量图形编辑器中实现的书法工具。与被表示为基于像素的图像对象的普通墨水相比,书法墨水被表示为矢量化图像。结果,书法墨水具有比普通墨水更为平滑的外观,并且能够进行任意缩放而并不示出通常在缩放的普通墨水对象的边缘处所见到的锯齿或之字形线条(即,阶梯状)。不幸的是,现有的书法墨水生成应用仍然表现出缺陷。特别地,现有的书法墨水生成应用缓慢,没有以所期望的平滑度来呈现书法墨水对象的轮廓并且不容易允许部分书法墨水对象被擦除。
已经考虑了擦除墨水对象的方法。例如,Van Leperen等人的转让给本申请受让人加拿大Alberta,Calgary的SMART Technologies ULC的题为“Method For Erasing On An Electronic Wirteboard”的美国专利No.6,326,954教导了一种擦除显示在电子白板上的至少一部分墨水对象的方法。然而,当对书法墨水对象应用该方法时,未擦除部分的书法墨水对象的平滑程度通常并不满足所期望的标准。
因此,需要提供一种在显示表面上生成和擦除书法墨水对象的新颖的方法。
发明内容
因此,在一个方面中,提供了一种生成书法墨水对象的方法,包括对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由该坐标输入设备所生成的接触坐标进行采样;生成墨水包迹(ink envelovpe),所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;并且在显示器上绘制所述平滑墨水包迹以由此生成书法墨水对象。
在一个实施例中,对接触坐标进行采样进一步包括:对采样接触坐标进行处理以减少用来生成墨水轨线的采样接触坐标的数量。特别地,丢弃所选择的与其它采样接触坐标共线的采样接触坐标。
在一个实施例中,墨水包迹生成在完成书写时立即执行,例如当发生指示器向上事件时,执行墨水包迹生成。所述墨水包迹通常完全包围(surround)所述墨水轨线。所述墨水包迹生成包括:利用指示器实例包围沿所生成的墨水轨线的每个采样接触坐标,并且对于采样坐标的每个连续对,在连接该对采样接触坐标的线段的相反侧上生成在包围该对采样接触坐标的指示器实例之间延伸的线段。所生成的在包围每对采样接触坐标的指示器实例之间延伸的线段实质上可以与所述指示器实例的外围相切。
在一个实施例中,生成平滑的墨水包迹包括使得Bezier曲线拟合到墨水包迹上的点。
在另一个实施例中,所述墨水轨线包括墨水轨线分段。对每个墨水轨线分段生成墨水包迹分段并且组合所述墨水包迹分段以形成墨水包迹。
在一个实施例中,绘制包括将平滑墨水包迹绘制为矢量化图像。在绘制之前,可以对平滑墨水包迹进行着色或遮蔽。
根据另一个方面,提供了一种生成书法墨水对象的方法,包括生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括所述坐标输入设备所生成的接触坐标的子集;生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;并且在显示器上绘制所述墨水包迹以由此生成书法墨水对象。
在一个实施例中,所述弯曲线段是Bezier曲线,并且所述墨水包迹类似遵循墨水轨线的几何指示器尖端的路径边界。
根据又另一个方面,提供了一种装置,包括至少一个处理器;和存储书法墨水对象生成例程的存储器,当被至少一个服务器执行时,所述书法墨水生成例程使得所述装置:对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由该坐标输入设备生成的接触坐标进行采样;生成墨水包迹,所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及在显示器上绘制所述平滑墨水包迹以由此生成书法墨水对象。
根据再一个方面,提供了一种装置,包括至少一个处理器;和存储书法墨水对象生成例程的存储器,当被至少一个服务器执行时,所述书法墨水生成例程使得所述装置:生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括由所述坐标输入设备生成的接触坐标的子集;生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;并且在显示器上绘制所述墨水包迹以生成书法墨水对象。
根据再一个方面,提供了一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由该坐标输入设备生成的接触坐标进行采样;生成墨水包迹,所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及在显示器上绘制所述平滑墨水包迹以由此生成书法墨水对象。
根据再一个方面,提供了一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括由所述坐标输入设备生成的接触坐标的子集;生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;以及在显示器上绘制所述墨水包迹以生成书法墨水对象。
根据再一个方面,提供了一种擦除通过擦除器轨迹与书法墨水对象相交而限定的该书法墨水对象的至少一部分的方法,所述方法包括:计算所述书法墨水对象和所述擦除器轨迹之间的相交点;沿在擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;使得曲线拟合到相交点和附加点;使用所述曲线来修改所述书法墨水对象的轮廓;以及删除所述书法墨水对象在所述曲线之间的部分。
根据再一个方面,提供了一种装置,包括至少一个处理器;和存储书法墨水对象擦除例程的存储器,当被至少一个服务器执行时,所述书法墨水擦除例程使得该装置:计算所述书法墨水对象和所述擦除器轨迹之间的相交点;沿在擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;使得曲线拟合到相交点和附加点;使用所述曲线来修改所述书法墨水对象的轮廓;以及删除所述书法墨水对象在所述曲线之间的部分。
根据又一个方面,提供了一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:计算所述书法墨水对象和所述擦除器轨迹之间的相交点;沿在擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;使得曲线拟合到相交点和附加点;使用所述曲线来修改所述书法墨水对象的轮廓;以及删除所述书法墨水对象在所述曲线之间的部分。
附图说明
现在将参见附图对实施例进行更为全面地描述,在附图中
图1是交互式输入系统的简化框图;
图2是图1的交互式输入系统的一部分的立体图;
图3A至3C图示了在形成图1的交互式输入系统的一部分的交互式白板上呈现的图形用户界面;
图4是示出在书法墨水对象生成期间所执行的步骤的流程图;
图5示出了去除共线点之后的示例性墨水轨线;
图6示出了在曲线拟合之前覆盖在图5的墨水轨线上的经曲线拟合且归一化的墨水轨线;
图7图示了包围归一化墨水轨线上的点的外包迹和内包迹;
图8A至8C示出了原始包迹点生成和曲线拟合的示例;
图8D是示出在对沿归一化墨水轨线的点编索引期间所执行的步骤的流程图;
图8E示出了示例性的书法墨水对象;
图9A是示出在书法墨水对象生成期间所执行的替代步骤的流程图;
图9B示出了墨水对象的两个示例性分段;
图9C示出了另一个示例性书法墨水对象;
图10是示出书法墨水对象擦除期间所执行的步骤的流程图;
图11A至11D示出了擦除书法墨水对象的一部分的示例性过程;以及
图12A至12D示出了擦除书法墨水对象的一部分的另一个示例性过程。
具体实施方式
现在参看图1,示出了交互式输入系统的框图并且其通常通过附图标记10来进行标识。交互式输入系统10包括坐标输入设备12,例如指示器能够在其上进行接触的触摸板、交互式表面或交互式白板。坐标输入设备12与执行一个或多个应用程序的处理结构14进行通信。由处理结构14生成的图像数据显示在坐标输入设备12的显示表面上,允许用户经由坐标输入设备12上的指示器接触与所显示的图像进行交互。处理结构14将指示器接触解释为针对所运行的应用程序的输入并且因此更新图像数据,以使得在坐标输入设备12的显示表面上所显示的图像反映指示器活动。以这种方式,坐标输入设备12和处理结构14允许指示器与坐标输入设备12的交互被记录为笔迹或绘画或者被用来控制所运行应用程序的执行。交互式输入系统10的坐标输入设备12可以与处理结构14分离,或者可以与处理结构14相组合以形成如在个人计算机(PC)、平板PC、膝上PC、个人数字助理(PDA)、蜂窝电话或其它适当设备的情况下的整体紧凑单元。
图2图示了交互式白板(IWB)20形式的示例性坐标输入设备12。在该实施例中,IWB 20是本申请受让人加拿大Alberta,Calgary的SMART Technologies ULC所制造的600i系列交互式白板。IWB 20包括具有显示表面24的大模拟电阻式触摸屏22,所述显示表面24也充当在其上呈现计算机生成图像的显示表面。触摸表面24被边框26所包围。工具盘28与触摸表面24的底部边缘相邻地固定到边框26,并且容纳用来与触摸表面24进行交互的一个或多个笔工具。触摸屏22经由安装支架30安装在壁或其它适当的支撑表面上。悬臂配件32也经由安装支架30安装在触摸屏22上方的壁上。悬臂配件32包括容纳多个扬声器(未示出)的扬声器壳体34;通常水平的悬臂36,悬臂36从扬声器壳体34向外延伸;以及与悬臂36的末端相邻的投影仪38。投影仪38往后朝向触摸屏22,以使得由投影仪38投影的图像被呈现在触摸表面24上。
当用户使用笔工具40或手指来接触触摸表面24时,触摸屏22检测到该接触并且将接触信息传送至处理结构14(见图1)。处理结构14获得从触摸屏22传送的接触信息并且使用其来计算触摸表面24上(多个)接触位置的指示器坐标。根据IWB 20的操作模式,笔工具接触坐标被解释为数字墨水绘制对象、数字墨水擦除对象、或命令(鼠标)事件。
该实施例中的处理结构14是个人计算机或其它适当处理设备的形式的通用计算设备。例如,计算机包括处理单元、系统存储器(易失性和/或非易失性存储器)、其它非可拆卸或可拆卸存储器(硬盘驱动器、RAM、ROM、EEPROM、CDROM、DVD、闪存等)以及将各种计算机配件耦合到处理单元的系统总线。将要理解的是,计算机还可以包括网络连接以使用适当通信格式(例如,以太网、WiFi、蓝牙等)通过有线和/或无线通信链路来接入共享或远程设备、一个或多个联网计算机或其它联网设备。
处理结构14运行诸如加拿大Alberta,Calgary的SMARTTechnologies ULC所提供的SMART NotebookTM的主机软件应用。如已知的,在执行期间,SMART NotebookTM应用提供呈现在触摸表面24上的包括帆布页面或调色板的图形用户界面,并且能够在其上连同其它计算机生成对象一起输入任意形式或手写的墨水对象并且经由与触摸表面24的交互进行操控。
图3A至3C示出了呈现在触摸表面24上的如SMART NotebookTM应用窗口的图形用户界面50。如图3A所示,当用户使用笔工具40在SMART NotebookTM应用窗口50内的帆布页面52上进行书写时,随着笔工具40沿触摸表面24进行移动,触摸屏22向处理结构14传送接触信息。处理结构14进而使用所述接触信息来确定笔工具接触坐标并且将笔工具坐标解释为输入数字墨水。处理结构14使用所述输入数字墨水来创建表示用户在触摸表面24上的笔迹的书法墨水对象54。处理结构24还对传送至投影仪38的图像数据进行更新,以使得书法墨水对象54呈现在触摸表面24上。所述图像数据实质上由处理结构14“实时地”立即更新,以使得所投影的图像实质上在其被输入之后马上就包括用户的笔迹。
如图3B所示,当沿跨显示在帆布页面52上的书法墨水对象54的路径或轨迹62来拖动擦除器工具60时,墨水书法墨水对象54与轨迹62相交的部分64被擦除。图3C示出了擦除操作之后的书法墨水对象54。
图4示出了处理结构14在书法墨水对象生成期间所执行的一般步骤。在步骤88,处理结构14响应于用户使用笔工具40或手指在触摸表面24上进行的书写而从触摸屏22接收接触信息。在该实施例中,所述接触信息是表示触摸表面24上的接触点的一系列采样坐标。
处理结构14基于用户正使用的画笔类型来从采样接触点生成书法墨水对象。在该实施例中,画笔类型是用户连同其所选择的指示器尖端大小一起从包括圆形、椭圆形、多边形等在内的预定义虚拟指示器尖端形状的集合中所选择的虚拟指示器尖端。在这种情况下,在步骤88从墨水对象的轨线获得采样接触点,其中每个采样接触点表示用户所选择的画笔类型的对应实例的质心。
为了便于讨论,将假设用户已经选择了椭圆形画笔来对处理结构14所采用的书法墨水对象生成方法进行描述。在步骤100,处理结构100检查墨水轨线的采样接触点,并且去除共线的接触点。例如,如果P1,P2,...,Pn表示墨水轨线的采样接触点,则在共线接触点去除处理期间,处理结构14根据以下公式来计算连接接触点Pi和Pi+1的线段的斜率:
Li=(yi+1-yi)/(xi+1-xi)
其中i=1,2,...,i-2。
然后,处理结构14根据以下公式来计算连接接触点的Pi+1和Pi+2的线段的斜率:
Li+1=(yi+2-yi+1)/(xi+2-xi+1)
如果所计算的斜率不相等,即Li≠L i+1,则处理结构14继续将连接接触点的Pi+1和Pi+2的线段的斜率与连接接触点的Pi+2和Pi+3的线段的斜率进行比较。如果所计算的斜率相等,即Li=L i+1,则接触点Pi、Pi+1和Pi+2是共线接触点并且接触点Pi+1被去除。在这种情况下,处理结构将连接接触点的Pi和Pi+2的线段的斜率与连接接触点的Pi+2和Pi+3的线段的斜率进行比较。所述处理以这种方式继续直至检查了所有的接触点。图5示出了在去除共线接触点之后的墨水轨线的示例。
现在转回图4,在去除共线接触点之后的步骤102,通过分段曲线拟合对墨水迹线进行平滑。可以使用多种已知分段曲线拟合技术之一。通常,所得到的墨水迹线是曲线拟合函数fk(A)的集合,其中k=1,2,...,并且A是采样接触点所确定的参数的集合。在该实施例中,处理结构14使用作者为Philip J.Schneider的题为“An Algorithm for AutomaticallyFitting Digitized Curves”,Graphics Gems,pages 612-626,AcademicPress Professional公司(1990)的出版物中所描述的分段曲线拟合技术,其全文通过引用合并于此。所得到的墨水轨线是连接的Bezier曲线的集合,其中每条Bezier曲线是从采样接触点计算的四个控制点所确定的Bezier函数。
在步骤104,关于预定义的点距离对每条Bezier曲线进行采样。依据预定义顺序(例如,书写顺序)对所获得的形成归一化墨水轨线的采样接触点编索引。图6示出了在曲线拟合122之前(带有点的曲线)覆盖在墨水轨线上的经曲线拟合且归一化的墨水轨线120(没有点的曲线)。
转回图4,在曲线拟合之后的步骤106,将所选择的虚拟指示器尖端的形状应用于归一化墨水轨线的每个采样接触点以形成墨水包迹。对于归一化墨水轨线的任何三个连续采样接触点,定义了外包迹和内包迹。参见图7,示出了三个连续采样接触点T1、T2和T3。接触点T1和T2之间的线段128以及接触点T2和T3之间的线段130形成大于π的第一角度132以及小于π的第二角度134。处于第一角度132的范围之内的包迹136被定义为外包迹,而处于第二角度134的范围之内的包迹138被定义为内包迹。
图8A和8B图示了墨水包迹的原始点的生成。如以上所提到的,在该示例中,指示器尖端具有椭圆形的形状。在图8A中,附图标记140、140A、140B和140C表示归一化墨水迹线的采样接触点。指示器尖端实例142、142A和142B被应用于每个采样点接触140并且处于其中心。接着,处理结构14为每两个相邻采样接触点140计算与在相切点148与指示器尖端实例相切的两条线段146。在使用固定大小的指示器尖端的情况下,线段146也平行于两个相邻的采样接触点140之间的线段144。在指示器尖端的大小、形状和/或角度可能变化的其它实施例中,线段146可能不平行于线段144。针对两个相邻的采样接触点140A、140B,处理结构14计算与相邻的采样接触点140A和140B之间的线段144A平行并且在相切点148A和148B分别与指示器尖端实例142A和142B相切的上部线段146A。处理结构14还计算与相邻的采样接触点140A和140B之间的线段144A平行并且在相切点148C和148D分别与指示器尖端实例142A和142B相切的下部线段146B。例如点148A、148B、148C和148C的相切点被记录为原始包迹点。
对于墨水迹线的任何三个连续的采样接触点而言,对应的外包迹包括指示器尖端实例以中间的采样接触点为中心的部分。指示器尖端实例的该部分然后关于预定义的点距离进行采样,并且所获得的采样接触点也被记录为原始包迹点。例如,对于三个连续接触点140A、140B和140C而言,原始外包迹点包括相切点148A和148B、指示器尖端实例142B的点150A和150B、相切点148E、以及切线段146C和146D的相交点152B。
为了确定归一化墨水迹线的任何三个连续采样接触点的原始内包迹点,需要考虑两种情况。第一种情况图示于图8A中,其中内包迹区域中的切线段146B与内包迹区域中的切线段146C相交。在这种情况下,相交点152A以及相切点148D和148F被记录为原始内包迹点。注意,相切点148C和148G被丢弃。
第二种情况图示于图8B中,其中切线段160和162的至少一部分分别处于小于π的第一角度164的范围之内。在这种情况下,虽然线段160和162形成原始内包迹,但是如图8B所示,线段160和162并不相交。在这种情况下,作为与切线段162最为接近的切线段160的端点的相切点166A、以及作为与切线段160最为接近的切线段162的端点的相切点166B被定义为断点(break-point)。
转回图8A,对于归一化墨水迹线的每个端点(例如,端点140A)而言,还对对应指示器尖端(例如,142A)的外面部分进行采样以获得用于闭合墨水迹线的末端的原始包迹点(例如,点150C、150D和150E)。
对所生成的原始包迹点编索引。如图8C所示,每个原始包迹点与两个索引号相关联:表示为Pn的自然索引号,其中n=0,1,2...,以及归一化墨水迹线的最接近采样接触点的索引号。例如,在图8C中,在墨水迹线的采样接触点C1的附近有五个原始包迹点P3、P4、P5、P6和P37。因此,这些原始包迹点也与采样接触点C1的索引相关联,并且被表示为P3/1、P4/1、P5/1、P6/1和P37/1,其中“/”之前的数字表示自然索引而“/”之后的数字表示归一化墨水迹线的最接近采样接触点。注意,原始包迹点的自然索引可以为任何方便的顺序,并且图8C中示出的顺序仅是出于说明的目的。
再次参考图4,在步骤106的原始包迹点生成之后,在步骤108对所获得的原始包迹点进行曲线拟合以生成平滑的墨水包迹并且因此生成作为结果的书法墨水对象的平滑轮廓。每个连续原始外包迹点的集合被分段进行曲线拟合。两个断点之间的连续原始内包迹点的每个集合也被分段进行曲线拟合。每对连续的断点通过直线进行连接。因此,通过均由计算的参数集合确定的曲线函数的集合以及连接连续断点的直线函数来描述书法墨水对象的平滑轮廓。在该实施例中,通过均由四个控制点所确定的Bezier函数的集合以及连接连续断点的直线函数来描述书法墨水对象的平滑轮廓。
作为一个示例,图8C示出了七条所得到的拟合曲线E1,E2,...,E7的控制点。在该图中,为了清楚的图示的目的,将所得到的曲线的控制点向外移动。实际所得到的曲线将处于原始包迹点附近。同样为了清楚的图示的目的,图8C中没有绘出拟合曲线,相反,控制点通过虚线进行连接。
每条所得到的拟合曲线拟合于多个原始包迹点。曲线拟合技术将返回每条所得到的拟合曲线所拟合到的原始包迹点的范围。例如,在图8C中,拟合曲线E1拟合于原始包迹点P0至P6,并且拟合曲线E3拟合于原始包迹点E`P6至P12。利用该信息,对曲线拟合技术所返回的归一化墨水迹线的采样接触点编索引。
图8D示出了在对归一化墨水迹线的采样接触点编索引期间所执行的步骤。首先,将计数器i初始化为一(1)(步骤180)并且选择第一拟合曲线E1。在步骤182,检查拟合曲线E1所拟合到的每个原始包迹点以获得归一化墨水迹线的关联采样接触点的索引。例如,在图8C中,检查拟合曲线E1所拟合到的原始包迹点P0至P6。从其符号的第二部分(即,斜杠“/”之后的数字)看出,原始包迹点P0、P1和P2与采样接触点C0相关联。采样接触点C0被分配索引1以指示该采样接触点C0与拟合曲线E1相关联并且所分配的索引被添加到索引矩阵。
此后,计数器增加1(步骤184),并且进行检查以确定是否已经对所有拟合曲线进行了处理(步骤186)。如果没有,则该处理回到步骤182以检查下一条拟合曲线,在这种情况下为拟合曲线E2。否则,返回所生成的索引矩阵(步骤188)。
在针对拟合曲线E2的步骤182,原始包迹点P39和P38拟合于拟合曲线E2并且与采样接触点C0相关联。结果,采样接触点C0还被分配索引2以指示采样接触点C0与拟合曲线E2相关联并且所分配的索引被添加到索引矩阵。如将理解的,在已经对每条拟合曲线所拟合到的原始包迹点进行了检查之后,所得到的索引矩阵包括标识与每个采样接触点相关联的每条拟合曲线的每个采样接触点的一个或多个索引。例如,再次参考图8C,采样接触点C1被分配索引1和2以及可选地索引3(因为原始包迹点P6拟合于拟合曲线E1和拟合曲线E3)。采样接触点C2被分配索引3和2以及可选地索引4。当原始包迹点拟合于多条拟合曲线时,所述原始包迹点可以被分配给一个所选择的拟合曲线或两条拟合曲线。
一旦已经在步骤188完成了索引矩阵,则所获得的拟合曲线函数和对应控制点以及归一化墨水迹线的采样接触点和所述索引矩阵被存储。该信息提供了书法对象轮廓的数学描述。利用所获得的书法墨水对象轮廓的数学描述,可以由处理结构14使用渲染程序利用用户所选择的颜色或文本来填充所述书法墨水对象的轮廓。接着,所述书法墨水对象可以在触摸表面24上被绘制为矢量化图像,以使得其能够在维持其轮廓平滑性的同时进行任意缩放。图8E示出了处理结构14使用以上所描述的方法所生成的示例性书法墨水对象。
图9A示出了处理结构14在替代书法墨水对象生成技术期间所执行的步骤。该技术适于实质上实时地生成书法墨水对象并且采用多线程/多核心技术来并行计算书法墨水对象的平滑墨水轮廓分段。
在该书法墨水对象生成方法期间,用户笔迹的采样接触点按照时间进行分段,即从第一采样接触点开始,由处理结构14在每T毫秒内所接收到的采样接触点被分组为一个分段,其中T是预定义参数。参数T的数值从通常由用户基于书写经验和/或处理结构性能所确定的范围中进行选择。在步骤200,处理结构14接收输入墨水对象的分段的采样接触点。在步骤202,如果所述分段不是输入墨水对象的第一分段,则之前分段最后的采样接触点被加前缀至当前分段并且针对这些采样接触点的存储指针被放置到分段堆中。所述墨水对象分段然后被分配至后台线程,以用于生成书法墨水对象分段的平滑墨水轮廓。
所述后台线程使用与参考图4所描述的类似但是稍有修改的方法对所述墨水对象分段进行处理。特别地,在该方法期间,如果墨水对象分段是输入墨水对象的第一分段,则对以归一化墨水迹线的第一采样接触点为中心的指示器尖端实例的外部部分进行采样以获得原始包迹点以用于闭合所述书法墨水对象的第一末端。在所述书法墨水对象分段最后的采样接触点周围的包迹被保持打开。如果墨水对象分段不是输入墨水对象的第一分段,则包迹的两端都保持打开。
图9B示出了输入墨水对象的两个示例性分段S1和S2。原始包迹点在图9B中被标记为点。由于书法墨水对象分段S1是输入的输入墨水对象的第一分段,所以对第一指示器尖端实例220的外部部分进行采样以获得原始包迹点222以用于闭合书法墨水对象分段轮廓。另一方面,由于书法墨水对象分段S2不是输入的书法墨水对象的第一分段,所以两端都保持打开。
再次参考图9A,在将墨水对象分段发送至后台线程之后,所述处理在步骤204检查用户是否完成了书写(例如,通过检查是否发生了笔工具的向上事件)。如果没有,则处理回到步骤200以收集另一个书法墨水对象分段并且将其发送至另一个后台线程进行处理。以这种方式,由不同线程并行生成不同墨水对象分段的书法墨水对象轮廓,减少了用户书写墨水以及所书写的墨水被显示在触摸表面24上之间的滞后。
在步骤204,如果检测到用户已经完成了书写(例如,当接收到笔工具向上事件时),则最后的墨水对象分段被发送到后台分段进行处理(步骤206)。在最后的墨水对象分段的处理中,以归一化墨水迹线最后的采样接触点为中心的指示器尖端实例也在其外部部分被采样以获得用于闭合书法墨水对象轮廓的原始包迹点。
在所有的墨水对象分段都已经被处理之后,收集书法墨水对象分段并且将其平滑地连接在一起以形成最终的书法墨水对象(步骤208)。图9C示出了这样的示例性书法墨水对象,其中每个书法墨水对象分段包含在相应的矩形框内。
现在将描述处理结构当用户沿与书法墨水对象相交的路径或轨迹穿过触摸表面24移动擦除器时所采用的擦除书法墨水对象的方法。在下文中,为了便于讨论,将特别参考圆形擦除器对所述擦除方法进行描述。然而,本领域技术人员将理解,可以使用任何其它形状作为擦除器,例如包括椭圆形、三角形、矩形、正方形或其它几何形状。擦除器可以具有固定的大小,或者其大小可以是可变的。当擦除器为可变大小时,擦除器大小可以基于用户使用擦除器施加到触摸表面24的压力的幅度或用户所选择的大小变化机制来选择。虽然本领域技术人员将理解该方法应用于擦除器与书法墨水对象多次相交的情形,但是同样为了便于描述,将仅对擦除器的轨迹与书法墨水对象相交一次的情形进行讨论。
图10示出了处理结构在擦除书法墨水对象期间所执行的步骤。在步骤220,处理结构14最初找出书法墨水对象轮廓上擦除器轨迹与书法墨水对象相交的四个点。例如,在图11A中,擦除器260的轨迹在点A、B、C和D与书法墨水对象262的轮廓相交。
在步骤222,在相交点A和B并且在相交点C和D分开书法墨水对象轮廓。在步骤224,分别在点A和C之间以及点C和D之间生成附加轮廓点。接着,生成附加拟合曲线以拟合点A、C以及其间的附加轮廓点(图11B中的曲线264)。还生成附加拟合曲线以拟合点B、D以及其间的附加轮廓点(图11B中的曲线266)。接着,处理结构14通过将轮廓连接到附加拟合曲线来闭合所述书法墨水对象轮廓。例如,在图11C中,通过将书法墨水对象的左侧部分268的轮廓连接到曲线264而使其闭合,并且通过将书法墨水对象的右侧部分270的轮廓连接到曲线266相连接而使其闭合。
在步骤230,删除书法墨水对象轮廓处于新生成的轮廓之外的部分,例如书法墨水对象处于曲线264和266之外的部分。新生成的书法墨水对象轮廓可以由渲染程序利用用户所选择的颜色或文本进行填充。所得到的书法墨水对象轮廓在图11D中示出。可选地,在步骤232,可以检查新生成的书法墨水对象轮廓来看是否连接了书法墨水对象的所有书法墨水对象轮廓组分。如果没有,则可以将书法墨水对象分割为单独的书法墨水对象。所述单独的书法墨水对象可以被自动分组在一起活着可以分离。使得它们分离或自动分组的决定可以基于单独的书法墨水对象的末端之间的距离。如果单独的书法墨水对象以大于阈值量的距离间隔开来,则书法墨水对象将被视为单独的墨水对象;否则,它们被自动分组。
根据所采用的处理结构的属性,该擦除方法可能很慢,这是因为步骤220通常需要大量计算来找出相交点。在某些实例中,可以采用如现在将要描述的快速擦除方法。
快速擦除方法通常遵循如图10所述的相同步骤。然而,在步骤220,所述快速擦除方法并不直接确定书法墨水对象轮廓和擦除器轨迹的相交点。相反,所述快速擦除方法首先找出归一化墨水迹线和擦除器轨迹的相交点。参见图12A,归一化墨水迹线的每个采样接触点与索引矩阵相关联,所述索引矩阵在该图中是一对索引(x,y),其中x是指归一化墨水迹线上方的拟合曲线的索引,而y是指归一化墨水迹线下方的拟合曲线的索引。如之前所描述的,当生成书法墨水对象时获得这些索引。
处理结构14首先搜索归一化墨水迹线的采样接触点以找出擦除器轨迹内并且与擦除器轨迹的左侧边缘最为接近的采样接触点,在图12A所示的情形中,这是接触点C4。处理结构14还搜索归一化墨水迹线的采样接触点以找出擦除器轨迹内并且与擦除器轨迹的右侧边缘最为接近的采样接触点,在图12A所示的情形中,这是接触点C5。在替代实施例中,可以找出归一化墨水迹线与书法墨水对象轮廓的实际相交点(其分别是接触点C3和C4之间以及接触点C5和C6之间的内插点)。每个实际相交点的索引可以从归一化墨水迹线中其最接近的采样接触点进行复制。
在找出相交接触点C4和C5之后,对它们的索引进行检查以找出书法墨水对象轮廓上对应的拟合曲线。相交接触点C4的索引为(3,4),其对应于上方的拟合曲线E3和下方的拟合曲线E4。类似地,相交接触点C5的索引为(5,6),其对应于上方的拟合曲线E5和下方的拟合曲线E6。
接着,对于每条所标识的拟合曲线,计算分割点。图12B图示了如何对拟合曲线E3(标号304)计算分割点。在图12B中,Bezier拟合曲线304的四个控制点被标记为P1、P2、P3和P4,其中P1和P4是两个端点。线条300表示擦除器轨迹的左侧边缘。
处理结构14首先计算两个末端控制点P1和P4之间的线段302。接着,计算线段300和302的相交点P5。分隔比t被计算为:
t=|P1P5|/|P1P4|
其中|P1P5|是控制点P1和P5之间的线段的长度;并且
|P1P4|是控制点P1和P4之间的线段的长度。
接着计算拟合曲线304上的分割点P6,以使得曲线P1P6的长度与曲线P1P6P4的长度之比等于t。在该实施例中,使用在以上所合并的作者为Philip J.Schneider的题为“An Algorithm for Automatically FittingDigitized Curves”,Graphics Gems,pages 612-626,Academic PressProfessional公司(1990)的公开文本中所描述的BezierSplit函数,其被表达为:
BezierSplit(OriginalControlPoints,ResultingLeftCurve,ResultingRightCurve,t)
其中:
OriginalControlPoints是原始控制点的坐标(输入参数);
ResultingLeftCurve是在分割点左侧所得到的拟合曲线(输出参数);
ResultingRightCurve是在分割点右侧所得到的拟合曲线(输出参数);并且
t是分割比。
因此,BezierSplit函数不仅分割拟合曲线304,而且还在控制点P1和P6之间生成新的拟合曲线(ResultingLeftCurve),以及控制点P6和P4之间的另一条拟合曲线(ResultingRightCurve)。
对于待分割的每条拟合曲线,调用BezierSplit函数。对于擦除器轨迹左侧的拟合曲线,保留ResultingLeftCurve,并且丢弃ResultingRightCurve和待分割的原始拟合曲线。对于擦除器轨迹右侧的拟合曲线,保留ResultingRightCurve,并且丢弃ResultingLeftCurve和待分割的原始拟合曲线。图12C示出了分割之后新的书法墨水对象轮廓,其中E3′、E4′、E5′和E6′是BezierSplit函数所生成的新的拟合曲线,它们被保留以用作经修改的轮廓拟合曲线。
所述快速擦除方法的下一个步骤是生成附加轮廓点(对应于图10的步骤224)。参见图12C,对于书法墨水对象轮廓的左侧部分,计算两个分割点L1和L2之间的线段。沿着该线段,计算点L3以使得|L1L3|=|L1L2|/4。类似地,还计算线段L1L2上的点L4以使得|L4L2|=|L1L2|/4。接着,计算点L5以使得线段L3L5总体上从点L3向擦除器轨迹的中心垂直延伸并且具有|L1L3|的长度。类似地,计算点L6以使得线段L4L6通常从点L4向擦除器轨迹的中心垂直延伸并且具有|L4L2|的长度。通过使用点L1、L5、L6和L2作为控制点来获得附加拟合曲线EL以闭合书法墨水对象轮廓的左侧部分。
以上过程生成了两个附加点,以使得这两个点连同分割轮廓的两个端点L1和L2一起能够被直接用作四个控制点来获得附加拟合曲线EL。然而,本领域技术人员将理解,也可以在不同位置生成不同数量的附加点来生成附加拟合曲线。附加点的实际数量以及它们所位于的位置可以取决于所使用的拟合曲线或者可以是任意的。
还以类似方式对书法墨水对象轮廓的右侧计算两个附加点R5和R6。随后通过使用点R1、R5、R6和R2作为控制点来获得附加拟合曲线ER以闭合书法墨水对象轮廓的右侧部分。
所述快速擦除方法的其余部分类似于图10的步骤230和232。在该实施例中,书法墨水对象在擦除之后的每个未连接部分都被复制到新的书法墨水对象。在图12A至12D所示的示例中,书法墨水对象在擦除之后变为两个未连接的部分。因此,每个部分都被复制到单独的书法墨水对象。在将所述书法墨水对象的每个未连接部分复制到新的书法墨水对象之后,删除原始的书法墨水对象。图12D示出了擦除之后的书法墨水对象轮廓(两个墨水对象)。
本领域技术人员将理解,处理结构所执行的以上所描述的书法墨水生成和擦除方法是示例性的。可以进行其它变化和修改。例如,虽然在以上实施例中使用椭圆形作为指示器尖端,但是本领域技术人员将理解,可以使用其它指示器尖端形状,包括矩形、正方形和其它几何形状。所述指示器尖端可以为固定大小,或者其大小例如可以基于用户使用指示器施加到触摸表面的压力而是可变的,或者根据用户所选择的另一种大小变化机制而是可变的。
如果采用基于机器视觉的触摸板而不是模拟电阻式触摸板,则可以从坐标输入设备12所捕捉的与触摸表面24相接触的指示器尖端的图像来确定画笔类型。在这种情况下,从所捕捉的指示器尖端图像来导出在步骤80所获得的每个采样接触点。所捕捉的指示器尖端图像的质心形成墨水对象的迹线。
虽然已经参见附图对实施例进行了描述,但是本领域技术人员将理解,可以在不背离如所附权利要求所确定的本发明的精神和范围的情况下对所描述内容进行其它变化和修改。
Claims (44)
1.一种生成书法墨水对象的方法,包括:
对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由所述坐标输入设备生成的接触坐标进行采样;
生成墨水包迹,所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;
至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及
在显示器上绘制平滑墨水包迹以由此生成所述书法墨水对象。
2.如权利要求1所述的方法,其中所述对接触坐标进行采样进一步包括:对所述采样接触坐标进行处理,以减少用来生成所述墨水轨线的采样接触坐标的数量。
3.如权利要求2所述的方法,其中所述处理包括:丢弃选择的采样接触坐标。
4.如权利要求3所述的方法,其中所丢弃的选择的采样接触坐标与其它采样接触坐标共线。
5.如权利要求4所述的方法,其中所述处理包括:确定将具有相同斜率的采样接触坐标的连续对相连接的线段;以及丢弃沿所述线段的长度的居间位置处的采样接触坐标。
6.如权利要求1至5中的任一项所述的方法,其中所述墨水包迹生成是在完成书写时立即执行的。
7.如权利要求6所述的方法,其中书写的完成由指示器向上事件用信号通知。
8.如权利要求6或7所述的方法,其中所述墨水包迹通常完全包围所述墨水轨线。
9.如权利要求6至8中的任一项所述的方法,其中所述平滑墨水包迹包括弯曲和直线分段。
10.如权利要求1至9中的任一项所述的方法,其中所述墨水包迹生成包括:利用指示器实例包围沿所生成的墨水轨线的每个采样接触坐标,并且对于采样接触坐标的每个连续对,在连接该对采样接触坐标的线段的相反侧上生成在包围该对采样接触坐标的指示器实例之间延伸的线段。
11.如权利要求10所述的方法,其中所生成的在包围每对采样接触坐标的指示器实例之间延伸的线段实质上与所述指示器实例的外围相切。
12.如权利要求10或11所述的方法,其中所述墨水包迹上曲线所拟合到的点沿每个指示器实例的外围进行定位。
13.如权利要求10至12中的任一项所述的方法,其中每个指示器实例具有几何形状。
14.如权利要求13所述的方法,其中所述几何形状是圆形、椭圆形、三角形、矩形、卵形和多边形之一。
15.如权利要求10至14中的任一项所述的方法,其中生成平滑的墨水包迹包括:使得Bezier曲线拟合到所述墨水包迹上的点。
16.如权利要求1至5中的任一项所述的方法,其中所述墨水轨线包括墨水轨线分段,其中对每个墨水轨线分段生成墨水包迹分段,并且其中组合所述墨水包迹分段以形成所述墨水包迹。
17.如权利要求16所述的方法,其中所述墨水包迹通常完全包围所述墨水迹线。
18.如权利要求16或17所述的方法,其中每个墨水迹线分段由采样接触坐标的子集来表示。
19.如权利要求18所述的方法,其中每个墨水迹线分段由所述坐标输入设备在阈值时间段上所生成的采样接触坐标来表示。
20.如权利要求16至19中的任一项所述的方法,其中所述墨水包迹生成包括:对于每个墨水迹线分段利用指示器实例包围沿该墨水迹线分段的每个采样接触坐标,以及对于采样接触坐标的每个连续对,在连接该对采样接触坐标的线段的相反侧上生成在包围该对采样接触坐标的指示器实例之间延伸的线段。
21.如权利要求20所述的方法,其中在包围每对采样接触坐标的指示器实例之间延伸的线段实质上与所述指示器实例的外围相切。
22.如权利要求20或21所述的方法,其中所述墨水包迹上曲线所拟合到的点沿每个指示器实例的外围进行定位。
23.如权利要求20至22中的任一项所述的方法,其中每个指示器实例具有几何形状。
24.如权利要求23所述的方法,其中所述几何形状是圆形、椭圆形、三角形、矩形、卵形和多边形之一。
25.如权利要求20至24中的任一项所述的方法,其中生成平滑的墨水包迹包括使得Bezier曲线拟合到所述墨水包迹上的点。
26.如权利要求1至25中的任一项所述的方法,其中所述绘制包括将所述平滑墨水包迹绘制为矢量化图像。
27.如权利要求26所述的方法,进一步包括:在所述绘制之前,对所述平滑墨水包迹进行着色和/或遮蔽。
28.一种生成书法墨水对象的方法,包括:
生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括由所述坐标输入设备生成的接触坐标的子集;
生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;以及
在显示器上绘制所述墨水包迹以生成所述书法墨水对象。
29.如权利要求28所述的方法,其中所述弯曲线段是Bezier曲线。
30.如权利要求28或29所述的方法,其中所述墨水包迹包括多个相连接的墨水包迹分段,每个墨水包迹分段与相应的墨水迹线分段相关联。
31.如权利要求28至30中的任一项所述的方法,其中所述墨水包迹类似遵循所述墨水轨线的几何指示器尖端的路径边界。
32.如权利要求31所述的方法,其中所述指示器尖端的形状是圆形、椭圆形、三角形、矩形、卵形和多边形之一。
33.如权利要求28至32中的任一项所述的方法,其中所述绘制包括将所述平滑墨水包迹绘制为矢量化图像。
34.如权利要求35所述的方法,进一步包括:在所述绘制之前,对所述平滑墨水包迹进行着色和/或遮蔽。
35.一种装置,包括:
至少一个处理器;以及
存储书法墨水对象生成例程的存储器,当被所述至少一个处理器执行时,所述书法墨水生成例程使得所述装置:
对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由所述坐标输入设备生成的接触坐标进行采样;
生成墨水包迹,所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;
至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及
在显示器上绘制所述平滑墨水包迹以由此生成所述书法墨水对象。
36.一种装置,包括:
至少一个处理器;以及
存储书法墨水对象生成例程的存储器,当被所述至少一个处理器执行时,所述书法墨水生成例程使得所述装置:
生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括由所述坐标输入设备生成的接触坐标的子集;
生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;以及
在显示器上绘制所述墨水包迹以生成所述书法墨水对象。
37.一种包括至少一个处理器和存储书法墨水对象生成指令的存储器的装置,当被所述至少一个处理器执行时,所述书法墨水生成指令使得所述装置执行根据权利要求1至34中的任一项所述的方法。
38.一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:
对使用指示器在坐标输入设备上进行书写以生成通常表示笔迹的墨水轨线期间由所述坐标输入设备生成的接触坐标进行采样;
生成墨水包迹,所述墨水包迹包括将所述采样接触坐标处的指示器实例相连接的线段;
至少通过使得曲线拟合到所述墨水包迹上的点来生成平滑墨水包迹;以及
在显示器上绘制所述平滑墨水包迹以由此生成所述书法墨水对象。
39.一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:
生成表示使用对象在坐标输入设备上所进行的书写输入的墨水轨线,所述墨水轨线包括由所述坐标输入设备生成的接触坐标的子集;
生成包围所述墨水轨线的墨水包迹,所述墨水包迹由弯曲和直的线段来表示;以及
在显示器上绘制所述墨水包迹以生成所述书法墨水对象。
40.一种擦除由擦除器轨迹与书法墨水对象相交而限定的所述书法墨水对象中至少一部分的方法,所述方法包括:
计算所述书法墨水对象和所述擦除器轨迹之间的相交点;
沿在擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;
使得曲线拟合到所述相交点和所述附加点;
使用所述曲线来修改所述书法墨水对象的轮廓;以及
删除所述书法墨水对象在所述曲线之间的部分。
41.如权利要求40所述的方法,进一步包括:
在所述删除之后,创建至少一个替代书法墨水对象。
42.如权利要求40或41所述的方法,其中计算所述相交点包括:
计算所述书法墨水对象的墨水迹线和所述擦除器轨迹之间的相交点;
在所述轮廓上标识与所述墨水迹线上的每个所述相交点相关的分段曲线;以及
计算在所述标识的分段曲线上的相交点。
43.一种装置,包括:
至少一个处理器;以及
存储书法墨水对象擦除例程的存储器,当被所述至少一个处理器执行时,所述书法墨水擦除例程使得所述装置:
计算所述书法墨水对象和所述擦除器轨迹之间的相交点;
沿在所述擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;
使得曲线拟合到所述相交点和所述附加点;
使用所述曲线来修改所述书法墨水对象的轮廓;以及
删除所述书法墨水对象在所述曲线之间的部分。
44.一种包括计算机程序代码的计算机可读介质,当被至少一个处理器执行时,所述计算机程序代码使得装置:
计算所述书法墨水对象和所述擦除器轨迹之间的相交点;
沿在所述擦除器轨迹相反侧上的相交点之间延伸的线段来生成附加点;
使得曲线拟合到所述相交点和所述附加点;
使用所述曲线来修改所述书法墨水对象的轮廓;以及
删除所述书法墨水对象在所述曲线之间的部分。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US25206409P | 2009-10-15 | 2009-10-15 | |
US61/252,064 | 2009-10-15 | ||
PCT/CA2010/001589 WO2011044677A1 (en) | 2009-10-15 | 2010-10-13 | Method and apparatus for drawing and erasing calligraphic ink objects on a display surface |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102576256A true CN102576256A (zh) | 2012-07-11 |
Family
ID=43875750
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010800466478A Pending CN102576256A (zh) | 2009-10-15 | 2010-10-13 | 用于在显示表面上绘制和擦除书法墨水对象的方法和装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9207858B2 (zh) |
EP (1) | EP2488930B1 (zh) |
KR (1) | KR20120095852A (zh) |
CN (1) | CN102576256A (zh) |
WO (1) | WO2011044677A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970327A (zh) * | 2013-02-04 | 2014-08-06 | 北京汇冠新技术股份有限公司 | 基于曲线拟合的触摸轨迹跟踪方法和装置 |
CN104123027B (zh) * | 2013-04-28 | 2017-03-22 | 北京汇冠新技术股份有限公司 | 一种触摸轨迹平滑处理方法 |
CN106650648A (zh) * | 2016-12-12 | 2017-05-10 | 广东威创视讯科技股份有限公司 | 擦除笔迹的识别方法和系统 |
CN107710109A (zh) * | 2015-06-12 | 2018-02-16 | 夏普株式会社 | 擦除装置和指示输入系统 |
CN108229472A (zh) * | 2017-12-29 | 2018-06-29 | 广州京墨医疗科技有限公司 | 视觉图像测试方法和系统 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8600164B2 (en) * | 2008-03-28 | 2013-12-03 | Smart Technologies Ulc | Method and tool for recognizing a hand-drawn table |
US8634645B2 (en) * | 2008-03-28 | 2014-01-21 | Smart Technologies Ulc | Method and tool for recognizing a hand-drawn table |
US20110291964A1 (en) | 2010-06-01 | 2011-12-01 | Kno, Inc. | Apparatus and Method for Gesture Control of a Dual Panel Electronic Device |
JP5827870B2 (ja) | 2011-10-28 | 2015-12-02 | 任天堂株式会社 | 座標処理プログラム、座標処理装置、座標処理システムおよび座標処理方法 |
US8773382B2 (en) * | 2011-10-28 | 2014-07-08 | Nintendo Co., Ltd. | Computer-readable storage medium, coordinate processing apparatus, coordinate processing system, and coordinate processing method |
KR102013239B1 (ko) * | 2011-12-23 | 2019-08-23 | 삼성전자주식회사 | 디지털 영상 처리장치, 및 그 제어방법 |
JP6065433B2 (ja) * | 2012-07-12 | 2017-01-25 | 株式会社リコー | 投影装置、投影システム、プログラム |
CN103106029B (zh) * | 2013-01-18 | 2015-12-02 | 程抒一 | 触摸屏擦除手势识别系统 |
US9286703B2 (en) | 2013-02-28 | 2016-03-15 | Microsoft Technology Licensing, Llc | Redrawing recent curve sections for real-time smoothing |
US9196065B2 (en) * | 2013-03-01 | 2015-11-24 | Microsoft Technology Licensing, Llc | Point relocation for digital ink curve moderation |
CN103488339B (zh) * | 2013-09-09 | 2016-09-07 | 北京大学 | 一种个性化汉字数字墨水的生成方法 |
CN105765502B (zh) | 2013-11-19 | 2019-10-08 | 株式会社和冠 | 用于墨水数据生成、墨水数据呈现、墨水数据操纵以及墨水数据通信的方法和系统 |
KR20150145774A (ko) * | 2014-06-19 | 2015-12-31 | 삼성전자주식회사 | 필기 애니메이션을 제공하는 전자장치 및 방법 |
US9508166B2 (en) | 2014-09-15 | 2016-11-29 | Microsoft Technology Licensing, Llc | Smoothing and GPU-enabled rendering of digital ink |
CN105302437B (zh) * | 2015-10-13 | 2019-10-29 | 联想(北京)有限公司 | 一种橡皮擦尺寸切换方法和电子设备 |
US10338807B2 (en) | 2016-02-23 | 2019-07-02 | Microsoft Technology Licensing, Llc | Adaptive ink prediction |
KR101984560B1 (ko) * | 2016-06-14 | 2019-06-03 | 가천대학교 산학협력단 | 사용자 동작 반응형 디지털 지우개 및 이의 작동 방법 |
KR102551568B1 (ko) | 2016-07-11 | 2023-07-06 | 삼성전자주식회사 | 전자 장치 및 그 제어 방법 |
US10930045B2 (en) | 2017-03-22 | 2021-02-23 | Microsoft Technology Licensing, Llc | Digital ink based visual components |
CN111052058B (zh) | 2017-09-01 | 2023-10-20 | 平蛙实验室股份公司 | 改进的光学部件 |
US10783322B2 (en) * | 2017-09-29 | 2020-09-22 | Microsoft Technology Licensing, Llc | Enhanced digital ink erasing |
SE1830086A1 (en) * | 2018-03-16 | 2019-09-17 | Flatfrog Lab Ab | A touch-sensitive apparatus |
CN111046638B (zh) * | 2018-10-12 | 2022-06-28 | 北京金山办公软件股份有限公司 | 一种墨迹清除的方法、装置、电子设备及存储介质 |
WO2020080992A1 (en) | 2018-10-20 | 2020-04-23 | Flatfrog Laboratories Ab | Frame for a touch-sensitive device and tool therefor |
EP4066089B1 (en) | 2019-11-25 | 2024-09-25 | FlatFrog Laboratories AB | A touch-sensing apparatus |
JP2023512682A (ja) | 2020-02-10 | 2023-03-28 | フラットフロッグ ラボラトリーズ アーベー | 改良型タッチ検知装置 |
WO2022067585A1 (zh) * | 2020-09-29 | 2022-04-07 | 京东方科技集团股份有限公司 | 书写轨迹处理方法、触控设备、书写系统及存储介质 |
CN114924685A (zh) * | 2022-04-30 | 2022-08-19 | 新华三智能终端有限公司 | 一种书写交互方法、装置以及书写终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434959A (en) * | 1992-02-11 | 1995-07-18 | Macromedia, Inc. | System and method of generating variable width lines within a graphics system |
US20040189666A1 (en) * | 2003-03-25 | 2004-09-30 | Frisken Sarah F. | Method for generating a composite glyph and rendering a region of the composite glyph in object-order |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4620287A (en) * | 1983-01-20 | 1986-10-28 | Dicomed Corporation | Method and apparatus for representation of a curve of uniform width |
US6141000A (en) * | 1991-10-21 | 2000-10-31 | Smart Technologies Inc. | Projection display system with touch sensing on screen, computer assisted alignment correction and network conferencing |
US5448263A (en) * | 1991-10-21 | 1995-09-05 | Smart Technologies Inc. | Interactive display system |
US5594855A (en) * | 1992-02-11 | 1997-01-14 | Macromedia, Inc. | System and method for generating real time calligraphic curves |
KR100219072B1 (ko) * | 1996-04-02 | 1999-09-01 | 김영환 | 중심축 변환을 이용한 폰트 및 그 폰트 서체의 변형 및 라스터라이징 방식 |
JPH10214267A (ja) * | 1997-01-29 | 1998-08-11 | Sharp Corp | 手書き文字記号処理装置および手書き文字記号処理装置の制御プログラムを記録した媒体 |
IL122229A (en) * | 1997-11-17 | 2001-04-30 | Seal Systems Ltd | True-life electronic signatures |
CA2268208C (en) | 1998-04-06 | 2011-06-14 | Smart Technologies, Inc. | Method for erasing on an electronic writeboard |
US6952803B1 (en) * | 1998-12-29 | 2005-10-04 | Xerox Corporation | Method and system for transcribing and editing using a structured freeform editor |
US6803906B1 (en) * | 2000-07-05 | 2004-10-12 | Smart Technologies, Inc. | Passive touch system and method of detecting user input |
JP2003008805A (ja) * | 2001-06-26 | 2003-01-10 | Matsushita Electric Ind Co Ltd | 電子黒板システム |
US7039234B2 (en) * | 2001-07-19 | 2006-05-02 | Microsoft Corporation | Electronic ink as a software object |
US6909430B2 (en) * | 2001-08-01 | 2005-06-21 | Microsoft Corporation | Rendering ink strokes of variable width and angle |
US7116844B2 (en) * | 2002-08-09 | 2006-10-03 | Celsys Co., Ltd. | Method for generating vector data for a hand-drawn curve |
TW575841B (en) * | 2002-08-27 | 2004-02-11 | Ind Tech Res Inst | Descriptive method of characters for displaying the thickness of strokes thereof |
US7382358B2 (en) * | 2003-01-16 | 2008-06-03 | Forword Input, Inc. | System and method for continuous stroke word-based text input |
US7224847B2 (en) * | 2003-02-24 | 2007-05-29 | Microsoft Corp. | System and method for real-time whiteboard streaming |
KR100497390B1 (ko) * | 2003-04-01 | 2005-06-23 | 삼성전자주식회사 | 벡터 폰트 생성방법 및 장치 |
US7302106B2 (en) * | 2003-05-19 | 2007-11-27 | Microsoft Corp. | System and method for ink or handwriting compression |
US7274356B2 (en) * | 2003-10-09 | 2007-09-25 | Smart Technologies Inc. | Apparatus for determining the location of a pointer within a region of interest |
US7232986B2 (en) * | 2004-02-17 | 2007-06-19 | Smart Technologies Inc. | Apparatus for detecting a pointer within a region of interest |
US7499058B2 (en) * | 2005-04-22 | 2009-03-03 | Microsoft Corporation | Programmatical access to handwritten electronic ink in a tree-based rendering environment |
US8600164B2 (en) * | 2008-03-28 | 2013-12-03 | Smart Technologies Ulc | Method and tool for recognizing a hand-drawn table |
-
2010
- 2010-10-13 KR KR1020127008548A patent/KR20120095852A/ko not_active Application Discontinuation
- 2010-10-13 EP EP10822947.7A patent/EP2488930B1/en active Active
- 2010-10-13 WO PCT/CA2010/001589 patent/WO2011044677A1/en active Application Filing
- 2010-10-13 CN CN2010800466478A patent/CN102576256A/zh active Pending
- 2010-10-14 US US12/904,599 patent/US9207858B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5434959A (en) * | 1992-02-11 | 1995-07-18 | Macromedia, Inc. | System and method of generating variable width lines within a graphics system |
US20040189666A1 (en) * | 2003-03-25 | 2004-09-30 | Frisken Sarah F. | Method for generating a composite glyph and rendering a region of the composite glyph in object-order |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970327A (zh) * | 2013-02-04 | 2014-08-06 | 北京汇冠新技术股份有限公司 | 基于曲线拟合的触摸轨迹跟踪方法和装置 |
CN104123027B (zh) * | 2013-04-28 | 2017-03-22 | 北京汇冠新技术股份有限公司 | 一种触摸轨迹平滑处理方法 |
CN107710109A (zh) * | 2015-06-12 | 2018-02-16 | 夏普株式会社 | 擦除装置和指示输入系统 |
CN106650648A (zh) * | 2016-12-12 | 2017-05-10 | 广东威创视讯科技股份有限公司 | 擦除笔迹的识别方法和系统 |
CN106650648B (zh) * | 2016-12-12 | 2020-04-03 | 广东威创视讯科技股份有限公司 | 擦除笔迹的识别方法和系统 |
CN108229472A (zh) * | 2017-12-29 | 2018-06-29 | 广州京墨医疗科技有限公司 | 视觉图像测试方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US9207858B2 (en) | 2015-12-08 |
KR20120095852A (ko) | 2012-08-29 |
EP2488930A1 (en) | 2012-08-22 |
WO2011044677A1 (en) | 2011-04-21 |
EP2488930A4 (en) | 2013-12-11 |
EP2488930B1 (en) | 2017-12-06 |
US20110199297A1 (en) | 2011-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102576256A (zh) | 用于在显示表面上绘制和擦除书法墨水对象的方法和装置 | |
CN109445676B (zh) | 在手写设备上删除用户输入的手写笔画信息的方法 | |
US7750911B2 (en) | Pen-based 3D drawing system with 3D mirror symmetric curve drawing | |
Bonnici et al. | Sketch-based interaction and modeling: where do we stand? | |
CN106575291A (zh) | 检测数字墨水的选择 | |
CN104424473A (zh) | 一种手绘草图识别和编辑的方法及装置 | |
CN105511792A (zh) | 一种表单在位手写输入方法及系统 | |
CN108700994A (zh) | 用于数字墨水交互性的系统和方法 | |
CN106325737A (zh) | 一种书写路径擦除方法及设备 | |
CN112905102B (zh) | 书写笔锋的实现方法、装置、电子设备及可读存储介质 | |
CN109658481A (zh) | 图像标注方法及装置、特征图生成方法及装置 | |
CN103440101A (zh) | 一种手写原笔迹数据的处理方法、系统及手机 | |
CN108763320A (zh) | 一种书写笔记数据存储方法、装置、终端及存储介质 | |
CN104866121A (zh) | 三维模型绘制系统及其绘制方法 | |
CN113448486A (zh) | 电子白板用笔笔锋实现方法、装置、存储介质及电子白板 | |
US9542093B2 (en) | Methods and apparatus for providing partial modification of a digital illustration | |
CN110633042A (zh) | 一种电子白板笔迹擦除方法、装置及设备 | |
CN114327064A (zh) | 一种基于手势控制的标绘方法、系统、设备及存储介质 | |
CN113342208B (zh) | 基于多点触控设备的铁路选线方法、终端及存储介质 | |
CN112035035A (zh) | 一种可擦除顶层局部区域笔画的橡皮擦实现方法及系统 | |
CN113610946B (zh) | 一种利用板擦功能分割绘图笔迹的方法 | |
CN101833411B (zh) | 用于笔迹输入的方法和设备 | |
CN112818803A (zh) | 图片的标注方法以及相关装置、设备 | |
CN104238921A (zh) | 一种自定义多边形的绘制方法和装置 | |
CN110570930B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |