基于多段线贝塞尔的数字墨水笔触制造技术

技术编号:33286420 阅读:14 留言:0更新日期:2022-04-30 23:54
本公开涉及基于多段线贝塞尔的数字墨水笔触。本公开的一个方面涉及一种方法,所述方法包括:(i获得二维空间中的有序的点的集合;(ii)对于有序的点的集合中的每个点,获得宽度值;(iii)确定二维空间中的多个左点和多个右点,其中,有序的点的集合中的每个点与多个左点中的左点和多个右点中的右点相对应,使得左点和右点被对于有序的点的集合中的点获得的宽度值分开;和(iv)确定定义二维空间中虚拟笔画的边界的左曲线和右曲线。画的边界的左曲线和右曲线。画的边界的左曲线和右曲线。

【技术实现步骤摘要】
基于多段线贝塞尔的数字墨水笔触


[0001]本公开涉及基于多段线贝塞尔的数字墨水笔触。

技术介绍

[0002]多种应用包括将用户绘制的轨迹转换成模拟的笔画(brushstroke)。例如,数字绘画应用可以将有序的点的集合转换成模拟墨水、颜料、粉笔或其他艺术媒体外观的虚拟笔画。可以采用多种方法来生成这种虚拟的笔画,以美学上令人愉快的方式模仿笔、铅笔、画笔或其他工具的相应“真实”笔画的特征。例如,可以沿着输入轨迹渲染圆的集合、“喷雾”图案或其他子图形或几何对象。

技术实现思路

[0003]提供了以计算廉价的方式从输入点轨迹生成自然的和美学上令人愉悦的虚拟笔画的方法,随着新轨迹点的生成,该方法可以增加附加的笔画。该方法包括在中心轨迹的任一侧确定左和右边界多段线(poly

line)。这些边界折线随后被用于确定定义虚拟笔画的边缘的边界多段线曲线(poly

curve)。然后,多段线曲线可以用于为虚拟笔画生成网格。然后可以对生成的网格进行纹理化以供显示。当接收到附加的输入点时,可以有效地生成附加的曲线段和相应的网格元素,即使在具有非常有限的本地计算资源的设备上,也允许近乎实时地渲染虚拟笔画。
[0004]本公开的一个方面涉及一种方法,包括:(i)获得二维空间中的有序的点的集合;(ii)对于有序的点的集合中的每个点,获得宽度值;(iii)确定二维空间中的多个左点和二维空间中的多个右点,其中,有序的点的集合中的每个点与多个左点中的左点和多个右点中的右点相对应,使得左点和右点被对于有序的点的集合中的点获得的宽度值分开;和(iv)确定定义二维空间中虚拟笔画的边界的左曲线和右曲线,其中,左曲线包括多个左点中的两个或更多个点,其中,右曲线包括多个右点中的两个或更多个点。
[0005]上述方法还可以包括确定有序的点的集合中每个点的切线,其中,确定二维空间中的多个左点和二维空间中的多个右点包括确定多个左点和多个右点,使得与有序的点的集合中给定点相对应的左点和右点沿着垂直于给定点的切线的向量与给定点相对地(opposite)定位。
[0006]在任一上述方法中,确定二维空间中的左曲线和右曲线可以包括以下至少一个:(i)确定包括多个左点中的两个或更多个点的多段线贝塞尔(polybezier)曲线,或者(ii)确定包括多个右点中的两个或更多个点的多段线贝塞尔曲线。
[0007]上述方法中的任何一种都可以另外包括基于右曲线和左曲线在二维空间中生成填充右曲线和左曲线之间的空间的网格。这种方法还可以包括:将纹理应用于网格;以及将应用的纹理显示在显示器上。这种方法还可以包括将网格的指示提供给图形渲染管线。
[0008]在任一上述方法中,获得有序的点的集合包括从数字转化器(digitizer)接收有序的点的集合的指示。在这种方法中,获得有序的点的集合中每个点的宽度值可以包括从
数字转化器接收与有序的点的集合中每个点相对应的压力值的指示。
[0009]上述任何方法还可以包括获得二维空间中的附加点;并且基于附加点,更新左曲线和右曲线。这种方法还可以包括:在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的第一网格;以及,在更新左曲线和右曲线之后,在二维空间中生成第二网格,所述第二网格填充更新的右曲线和更新的左曲线之间的第一网格没有填充的空间。这种方法还可以包括,在更新左曲线和右曲线之前,将第一网格的指示提供给图形渲染管线;并且在更新左曲线和右曲线之后,将第二网格的指示提供给图形渲染管线。这种方法还可以包括在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的第一网格;以及,在更新左曲线和右曲线之后,在二维空间中生成填充更新的右曲线和更新的左曲线之间的空间的第二网格。这种方法还可以包括在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的第一网格;将第一纹理应用于第一网格;以及在更新左曲线和右曲线之后,将第二纹理应用于第一网格的至少一部分。
[0010]本公开的另一方面涉及一种系统,包括:(i)包括一个或多个处理器的控制器;以及(ii)暂时性或非暂时性计算机可读介质,其中存储有可由控制器执行的指令,以使控制器执行本文描述的任何方法。
[0011]本公开的又一方面涉及一种暂时性或非暂时性计算机可读介质,其中存储有可由计算设备执行的指令,以使计算设备执行本文描述的任何方法。
[0012]应当理解,各方面可以以任何方便的形式实现。例如,各方面可以由适当的计算机程序来实现,该计算机程序可以承载在适当的载体介质上,该载体介质可以是有形载体介质(例如,磁盘)或无形载体介质(例如,通信信号)。各方面也可以使用合适的装置来实现,该装置可以采取运行被安排来实现本专利技术的计算机程序的可编程计算机的形式。各方面可以被组合,使得在一个方面的上下文中描述的特征可以在另一方面实现。
[0013]通过适当参考附图阅读下面的详细描述,这些以及其他方面、优点和替换对于本领域普通技术人员来说将变得显而易见。此外,应当理解,在本概述部分和本文档的其他地方提供的描述旨在通过示例而非限制的方式来说明所要求保护的主题。
附图说明
[0014]图1A描绘了二维空间中的示例点。
[0015]图1B描绘了用于从图1A的点生成虚拟笔画的方法的各方面。
[0016]图1C描绘了用于从图1A的点生成虚拟笔画的方法的各方面。
[0017]图1D描绘了用于为从图1A的点生成的虚拟笔画生成网格的方法的各方面。
[0018]图1E描绘了用于为从图1A的点生成的虚拟笔画生成网格的方法的各方面。
[0019]图2A描绘了用于从二维空间中的示例点生成虚拟笔画的方法的各方面。
[0020]图2B描绘了用于从二维空间中的示例点生成虚拟笔画的方法的各方面。
[0021]图3A描绘了定义二维空间中虚拟笔画的边界的示例点对。
[0022]图3B描绘了用于从图3A的点对中为虚拟笔画生成网格的方法的各方面。
[0023]图3C描绘了用于从图3A的点对中为虚拟笔画生成网格的方法的各方面。
[0024]图3D描绘了用于将纹理应用于为由图3A的点对定义的虚拟笔画确定的网格的方
法的各方面。
[0025]图3E描绘了用于将纹理应用于为由图3A的点对定义的虚拟笔画确定的网格的方法的各方面。
[0026]图4是示出示例计算系统的一些组件的简化框图。
[0027]图5是方法的流程图。
具体实施方式
[0028]本文描述了方法和系统的示例。应当理解,词语“示例性的”、“示例的”和“说明性的”在本文用来表示“用作示例、实例或说明”。本文描述为“示例性的”、“示例的”或“说明性的”的任何实施例或特征不一定被解释为比其他实施例或特征优选或有利。此外,本文描述的示例性实施例并不意味着是限制性的。很容易理解,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:获得二维空间中的有序的点的集合;对于有序的点的集合中的每个点,获得宽度值;确定二维空间中的多个左点和二维空间中的多个右点,其中,有序的点的集合中的每个点与所述多个左点中的左点和所述多个右点中的右点相对应,使得左点和右点被对于有序的点的集合中的点获得的宽度值分开;和确定定义二维空间中虚拟笔画的边界的左曲线和右曲线,其中,左曲线包括所述多个左点中的两个或更多个点,其中,右曲线包括所述多个右点中的两个或更多个点。2.根据权利要求1所述的方法,还包括:确定有序的点的集合中每个点的切线,其中,确定二维空间中的所述多个左点和二维空间中的所述多个右点包括确定所述多个左点和所述多个右点,使得与有序的点的集合中的给定点相对应的左点和右点沿着垂直于给定点的切线的向量与给定点相对地定位。3.根据权利要求1所述的方法,其中,确定二维空间中的左曲线和右曲线包括以下中的至少一个:(i)确定包括所述多个左点中的两个或更多个点的多段线贝塞尔曲线,或者(ii)确定包括所述多个右点中的两个或更多个点的多段线贝塞尔曲线。4.根据权利要求1所述的方法,还包括:基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的网格。5.根据权利要求4所述的方法,还包括:将纹理应用于网格;和将应用的纹理显示在显示器上。6.根据权利要求4所述的方法,还包括:将网格的指示提供给图形渲染管线。7.根据权利要求1所述的方法,其中,获得有序的点的集合包括从数字转化器接收有序的点的集合的指示。8.根据权利要求7所述的方法,其中,获得有序的点的集合中每个点的宽度值包括从数字转化器接收与有序的点的集合中每个点相对应的压力值的指示。9.根据权利要求1所述的方法,还包括:获得二维空间中的附加点;和基于附加点,更新左曲线和右曲线。10.根据权利要求9所述的方法,还包括:在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的第一网格;和在更新左曲线和右曲线之后,在二维空间中生成第二网格,所述第二网格填充更新的右曲线和更新的左曲线之间的第一网格没有填充的空间。11.根据权利要求10所述的方法,还包括:在更新左曲线和右曲线之前,将第一网格的指示提供给图形渲染管线;和在更新左曲线和右曲线之后,将第二网格的指示提供给图形渲染管线。12.根据权利要求9所述的方法,还包括:在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和
左曲线之间的空间的第一网格;和在更新左曲线和右曲线之后,在二维空间中生成填充更新的右曲线和更新的左曲线之间的空间的第二网格。13.根据权利要求9所述的方法,还包括:在更新左曲线和右曲线之前,基于右曲线和左曲线,在二维空间中生成填充右曲线和左曲线之间的空间的第一网格;...

【专利技术属性】
技术研发人员:D基克扎
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1