一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于对矢量对象着色的系统的制作方法

2022-04-13 13:41:07 来源:中国专利 TAG:


1.本技术的各实施例涉及用于对矢量对象着色(shading)的系统。


背景技术:

2.矢量图形与光栅图形相比具有若干优点,诸如紧凑表示和分辨率独立性。这是因为,矢量对象被定义为点、线和/或曲线,而光栅对象被定义为像素数组。例如,与描述像素阵列中包括的每个像素的位阵列所需要的数据量相比,点、线和曲线可以使用相对少量的数据来描述。由于基于矢量的图形不是基于任何特定分辨率来定义的,因此可以放大或缩小矢量图形而不会产生混叠的负面影响,而这些负面影响在缩放基于光栅的图形时是可以观察到的。
3.由于矢量图形的优点,矢量对象经常被包括在数字艺术作品、在线数字内容、以及可能被调节大小或缩放的数字内容中,诸如徽标、图标、标签等。在希望通过使用照明和着色来提高矢量对象的美感的场景中,矢量对象通常也被包括作为数字内容的一部分。例如,以这种方式对矢量对象着色为数字内容增加了一定程度的真实感。
4.用于例如在没有用户干预的情况中对矢量对象自动着色的常规系统通过将矢量对象转换为光栅对象来生成光和着色外观。这些系统通过在每个像素的基础上确定像素的颜色值来对光栅对象应用着色。例如,用于对矢量对象自动着色的常规系统接收矢量对象作为输入并且输出已着色的光栅对象。该已着色的光栅对象不再具有所需要的基于矢量的属性,诸如紧凑表示和分辨率独立性。


技术实现要素:

5.为了克服常规系统的缺点,描述了用于例如自动地并且在没有用户干预的情况中对矢量对象着色的系统和技术。在一个示例中,计算设备实现着色系统以沿基于矢量的对象的边界检测点。例如,着色系统使用检测到的点形成二维网格。
6.在一个示例中,着色系统通过基于基于矢量的对象的几何形状使二维网格膨胀来生成三维网格。着色系统基于三维网格的顶点的位置确定颜色值,并且将颜色值应用于着色网格。例如,着色系统通过混合基于矢量的对象和着色网格来生成已着色的基于矢量的对象。
7.本“发明内容”以简化形式介绍了在以下“具体实施方式”中进一步描述的概念的选择。因此,本“发明内容”并非旨在确定所要求保护的主题的基本特征,也不旨在用作确定所要求保护的主题的范围的帮助。
附图说明
8.专利或申请文件包含至少一个彩色附图。本专利或专利申请出版物的带有(多个)彩色附图的副本将由专利局根据要求和必要费用的支付来提供。
9.参考附图描述详细描述。图中表示的实体表示一个或多个实体,并且因此在讨论
中可互换地参考单个或多个形式的实体。
10.图1是示例实现中的环境的图示,该示例实现可操作以采用如本文中描述的用于对矢量对象着色的数字系统和技术;
11.图2描绘了示例实现中的系统,其示出了用于对矢量对象着色的着色模块的操作;
12.图3a、图3b和图3c示出了对矢量对象着色的示例表示;
13.图4是描绘示例实现中的过程的流程图,其中通过膨胀二维网格来生成三维网格并且基于三维网格的顶点的位置将颜色值应用于着色网格;
14.图5示出了用于细化一组多个对象的着色网格的边界的剪切路径(clipping path)的示例表示;
15.图6示出了用于修改用于对矢量对象着色的参数的用户界面的示例表示;
16.图7a和图7b示出了输入对象和已着色对象的示例表示;以及
17.图8示出了包括示例计算设备的示例系统,该示例计算设备代表用于实现本文中描述的各种技术的一个或多个计算系统和/或设备。
具体实施方式
18.概述
19.矢量图形与光栅图形相比具有若干优点,包括点、线、曲线、颜色和/或厚度形式的分辨率独立性以及紧凑表示。由于这些优点,在期望使用光和着色来改善矢量对象的视觉外观的场景中,矢量对象经常被包括作为数字内容的一部分。用于对矢量对象自动着色的常规系统通过将矢量对象转换为光栅对象并且生成已着色光栅对象来生成光和着色外观。这些已着色光栅对象不再具有所需要的基于矢量的属性,诸如紧凑表示和分辨率独立性。
20.为了克服常规系统的局限性,描述了用于例如自动地并且在没有用户干预的情况中对矢量对象着色的系统和技术。在一个示例中,计算设备实现着色系统以接收描述基于矢量的对象的输入数据。着色系统处理输入数据并且检测沿基于矢量的对象的边界的点。例如,着色系统基于检测到的点形成二维网格。
21.在一个示例中,着色系统使用检测到的点对基于矢量的对象的几何形状的内部进行三角测量,并且将二维网格形成为三角形网格。在另一示例中,着色系统通过使用服从于二维网格的边界顶点的值在平滑的二维网格中保持相同的条件的双调和方程来平滑二维网格以使拉普拉斯算子(laplacian)能量最小化。着色系统通过基于基于矢量的对象的几何形状使二维网格膨胀来生成三维网格。
22.例如,着色系统计算高度场,该高度场包括二维网格的每个顶点的z值。在一个示例中,着色系统确保跨二维网格的顶点的z值的变化以促进重心插值。二维网格使用该高度场被膨胀以生成三维网格。
23.三维网格可用于生成视觉特征,诸如照明特征和着色特征。例如,着色系统将光源模拟为照明模型(诸如兰贝特模型(lambertian model))的一部分,并且使用该光源将模拟光线投射到三维网格上。通过以这种方式利用照明模型,着色系统基于三维网格的顶点的位置确定颜色值。在一个示例中,这些颜色值对应于照明特征和着色特征。
24.着色系统将颜色值应用于着色网格,并且通过混合(例如,通过乘法混合(multiply blending))基于矢量的对象和应用有颜色值的着色网格来生成已着色的基于
矢量的对象。在一个示例中,着色网格是自由形式的高洛德(gouraud)着色三角形网格。例如,着色系统使用基于矢量的对象的几何形状作为剪切路径来细化着色网格的边界。在该示例中,着色网格的边界基于细化被平滑,并且着色系统混合基于矢量的对象和着色网格以生成已着色的基于矢量的对象。
25.在一个示例中,作为生成已着色的基于矢量的对象的一部分,着色系统利用透明度组。在该示例中,着色系统将基于矢量的对象和着色网格添加到透明度组。着色系统还将基于矢量的对象的原始透明度属性(例如,不透明度和混合模式)转移到透明度组中。通过以这种方式在透明度组中包括原始透明度属性,着色系统确保了基于矢量的对象的合成的发生能够像在没有添加着色的情况中那样进行。
26.例如,着色系统使用透明度组生成已着色的基于矢量的对象。已着色的基于矢量的对象保留了矢量对象的属性,包括紧凑表示和分辨率独立性。在输入数据描述以z顺序布置的多个基于矢量的对象的示例中,着色系统为多个基于矢量的对象中的每个生成着色网格,并且以相反的z顺序对这些对象应用着色。
27.所描述的系统通过生成逼真的着色效果并且将这些视觉特征自动应用于矢量对象作为已着色矢量对象来改进数字内容创建技术。这在用于通过将矢量对象转换为不再独立于分辨率的光栅对象来生成照明和着色效果的常规系统中是不可能的。所描述的系统还能够诸如基于指定不同颜色的光、光的环境强度和/或光的漫射强度的用户输入来为矢量对象生成定制着色。
28.例如,二维网格被膨胀以生成三维网格的量也是可定制的。所描述的系统也不限于通过膨胀二维网格来生成三维表示。相反,所描述的系统能够使用可用于将二维输入映射到三维表示的任何法线贴图来生成已着色矢量对象。由于由所描述的系统生成的已着色的基于矢量的对象与pdf兼容,因此这些已着色矢量对象可用于rgb颜色空间或cmyk颜色空间中的数字和印刷工作流程,这在常规系统中也是不可能的。
29.在以下讨论中,首先描述采用本文中描述的技术的示例的示例环境。还描述了在示例环境以及其他环境中可执行的示例过程。因此,示例过程的执行不限于示例环境并且示例环境不限于示例过程的执行。
30.示例环境
31.图1是示例实现中的环境100的图示,该示例实现可操作以采用如本文中描述的数字系统和技术。所示环境100包括被连接到网络104的计算设备102。计算设备102可配置为台式计算机、膝上型计算机、移动设备(例如,假定手持配置,诸如平板电脑或移动电话)等。因此,计算设备102的范围能够从具有大量存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的低资源设备(例如,移动设备)。在一些示例中,计算设备102代表多个不同设备,诸如用于“通过云”执行操作的多个服务器。
32.所示环境100还包括经由有线或无线连接通信地耦合到计算设备102的显示设备106。多种设备配置可用于实现计算设备102和/或显示设备106。计算设备102包括存储设备108和着色模块110。存储设备108被示出为包括数字内容112。
33.着色模块110被示出为具有、接收和/或传输描述基于矢量的对象的输入数据114,并且基于矢量的对象116被示出为被包括在输入数据114中。如图所示,基于矢量的对象116描绘了具有夸张和程式化特征的斑马。斑马的某些部分看起来与斑马的其他部分断开连
接。例如,斑马的腿和尾巴在结构上似乎没有被连接到斑马的身体。这使基于矢量的对象116的观看者分心。结果,斑马在视觉上不能令人愉悦。
34.计算设备102实现着色模块110以接收输入数据114。着色模块110处理输入数据114并且标识基于矢量的对象116的边界。例如,着色模块110离散化边界并且沿着色模块110用来生成二维网格的边界采样各点。在一个示例中,着色模块110使用采样点来对基于矢量的对象116的几何形状的内部进行三角测量。
35.着色模块110通过使二维网格膨胀(例如,使用基于基于矢量的对象116的几何形状的谐波膨胀)来生成三维网格。该三维网格可用于基于照明模型(诸如兰贝特模型)确定颜色值。着色模块110基于三维网格的顶点的位置确定这些颜色值并且将颜色值应用于二维着色网格。例如,着色模块110使用基于矢量的对象116的几何形状作为剪切路径来细化着色网格的边界。
36.着色模块110合成基于矢量的对象116与着色网格(例如,使用乘法混合操作)以生成在显示设备106的用户界面120中绘出的已着色的基于矢量的对象118。基于矢量的对象116也在用户界面120中绘出。如图所示,已着色的基于矢量的对象118比基于矢量的对象116在美学上明显更令人愉悦。在基于矢量的对象116中看起来与斑马的身体断开连接的斑马的部分在已着色的基于矢量的对象118中看起来是完全连接的。
37.已着色的基于矢量的对象118还保留了矢量对象的所有属性并且与分辨率无关。例如,在该示例中,着色模块110接收矢量对象作为输入并且着色模块110生成已着色矢量对象作为输出而不将矢量对象转换为光栅对象。在另一示例中,着色模块110接收光栅对象作为输入并且生成已着色光栅对象作为输出。因此,无论输入对象是矢量对象(例如,由点、线和曲线定义)还是光栅对象(例如,由像素阵列定义),着色模块110都能够接收输入对象并且生成已着色对象。
38.图2描绘了在示出着色模块110的操作的示例实现中的系统200。着色模块110被示出为包括二维网格模块202、膨胀模块204、照明模块206、着色网格模块208和混合模块210。着色模块110接收描述基于矢量的对象(诸如基于矢量的对象116)的输入数据114。二维网格模块202接收和处理输入数据114并且生成二维网格数据212。
39.图3a、图3b和图3c示出了对矢量对象着色的示例表示。图3a示出了三维网格的生成的表示300。图3b示出了在透明度组中包括基于矢量的对象和着色网格的表示302。图3c示出了通过混合基于矢量的对象和着色网格来生成已着色的基于矢量的对象的表示304。
40.参考图3a,二维网格模块202接收描述基于矢量的对象306的输入数据114。如表示300所示,基于矢量的对象306是心形矢量对象。二维网格模块202处理输入数据114以标识基于矢量的对象306的边界,例如心形矢量对象的边界。例如,二维网格模块202标识和离散化在表示300中被示出为包括点310的采样边界308的基于矢量的对象306的边界。在一个示例中,二维网格模块202检测沿基于矢量的对象306的边界的点310。
41.二维网格模块202基于点310形成二维网格。为此,在一个示例中,二维网格模块202对点310进行采样并且使用点310来对基于矢量的对象306的几何形状的内部进行三角测量。例如,作为形成二维网格的一部分,二维网格模块202使用点310执行符合德劳内(delaunay)三角剖分以将基于矢量的对象306的几何形状三角剖分。在该示例中,二维网格模块202生成二维网格作为三角形网格,并且约束三角形网格的三角形的最小角度,从而使
得三角形不具有小于最小角度的角度。在一个示例中,二维网格模块202将最小角度约束为大约15度以确保三角形网格的质量。在其他示例中,二维网格模块202将最小角度约束为小于15度或大于15度。
42.二维网格模块202还确保了三角域(triangulated domain)ω中的空间平滑度。为此,二维网格模块202通过在边界顶点的值保持相同的条件下求解双调和方程来最小化拉普拉斯算子能量。在一个示例中,这可以表示为:
43.δ2(x,y)i=0
44.其中:xi,yi表示三角形网格的第i顶点在域ω中的位置,并且该网格δω的边界上的顶点的值与输入曲线中的值相同并且用作这个求解的边界条件。
45.二维网格模块202生成描述空间平滑的二维网格的二维网格数据212。如图2所示,膨胀模块204接收二维网格数据212并且处理二维网格数据212以生成三维网格数据214。例如,膨胀模块204通过计算二维网格中的每个顶点的高度场或z值来膨胀二维网格。在一个示例中,膨胀模块204通过求解服从dirichlet边界条件的拉普拉斯算子方程来计算高度场。在一个示例中,这可以表示为:
46.δz(x,y)i=f
47.服从z|δω=0
48.其中:f对应于膨胀幅度并且使用二维三角形网格的xy范围被归一化,并且如果输入数据114描述用户指定膨胀参数,则该参数与该值相乘以计算指定膨胀。
49.在一个示例中,膨胀模块204通过细分二维网格的三角形来迭代地执行该求解。以这种方式,膨胀模块204确保了跨网格的任何三角形的顶点的z值的变化在合理阈值内。例如,这种变化有助于通过所有内部点的重心插值来进行近似。如图3a所示,膨胀模块204使用高度场来膨胀二维网格并且生成三维网格312。膨胀模块204生成描述三维网格312的三维网格数据214。
50.照明模块206接收三维网格数据214并且处理三维网格数据214以生成颜色值数据216。例如,照明模块206使用诸如兰贝特模型等光模型来生成颜色值数据216。在照明模块202利用兰贝特模型的示例中,来自光源的光线撞击对象的点并且从对象反射。如果该光在撞击对象之后在所有方向上反射,则该光为漫射光并且反射光的量由光线与从该点延伸的表面法向矢量之间的角度确定。光漫射强度可表示为:
[0051][0052]
其中:是光漫射强度;l指代光线方向;n指代该点处的表面法线;kd是漫反射常数,其确定表面的反射率,其在一个示例中等于1。
[0053]
照明模块206使用光漫射强度来确定最终颜色,其可表示为:
[0054][0055]
其中:c
l
是光颜色;cs是表面颜色;cr是最终颜色。
[0056]
照明模块206处理三维网格数据214并且计算三维网格的每个顶点处的法线方向。在光源与包含基于矢量的对象306的几何形状的平面正交的示例中,照明模块206将三维网格的每个顶点处的单位法向矢量与光颜色(默认为白色,但由用户可自定义)相乘。照明模
块206生成描述乘以光颜色的三维网格的每个顶点处的单位矢量的颜色值数据216。
[0057]
着色网格模块208接收颜色值数据216和输入数据114,并且处理颜色值数据216和/或输入数据114以生成着色网格数据218。例如,着色网格模块208处理颜色值数据216并且生成如图3b所示的着色网格314。为此,在一个示例中,着色网格模块208将颜色值数据216表示为自由形式的高洛德着色三角形网格。
[0058]
在一个示例中,着色网格模块208处理输入数据114并且使用基于矢量的对象306的几何形状作为裁剪路径来细化着色网格314的边界。在该示例中,着色网格314在该细化之前并不平滑,因为二维网格模块202将基于矢量的对象306的边界离散化为采样边界308以形成二维网格。通过使用基于矢量的对象306的几何形状作为剪切路径,着色网格模块208平滑着色网格314的边界,从而使得该边界在点310被剪切路径移除之后是连续的。
[0059]
着色网格模块208使用预乘颜色空间(pre-multiplied color space)中的乘法混合操作并且使用颜色cr作为表面颜色cs来生成最终颜色cr。例如,预乘颜色空间中的乘法混合方程可定义为:
[0060]cr
=(1.0-αb)*cs (1.0-αs)*cb cs*cb其中:cs是源颜色;αs是源阿尔法(alpha);cb是背景颜色;αb是背景阿尔法。
[0061]
着色网格模块208生成描述着色网格314的着色网格数据218。例如,着色网格模块208生成描述具有细化边界的着色网格314的着色网格数据218。混合模块210接收着色网格数据218和输入数据114,并且混合模块210处理着色网格数据218和输入数据114并且将基于矢量的对象306和着色网格314添加到透明度组316。
[0062]
如图3b所示,混合模块210使用透明度组316来合成基于矢量的对象306和着色网格314。例如,混合模块210将基于矢量的对象306的原始透明度属性(例如,不透明度和混合模式)转移到透明度组316并且将基于矢量的对象306的阿尔法重置为1。混合模块210还设置混合模式以乘以混合以应用于基于矢量的对象306。因此,基于矢量的对象306和着色网格314在透明度组316中将阿尔法都被设置为1。
[0063]
在一个示例中,混合模块210被实现以合成基于矢量的对象306和着色网格314。在该示例中,因为αs和αb都等于1(因为混合模块210将乘法混合模式应用于在基于矢量的对象306),所以该操作被简化为产生输出颜色cr的源颜色和背景颜色的乘积。另外,通过将原始透明度属性从基于矢量的对象306转移到透明度组316,混合模块210确保了进一步合成以与在没有应用着色效果的情况中会发生的方式相同的方式发生。
[0064]
图3c中描绘的表示304示出了混合模块210使用透明度组314通过合成基于矢量的对象306和着色网格314来生成已着色的基于矢量的对象318。如图所示,已着色的基于矢量的对象318包括矢量对象的所有属性,包括分辨率独立性。例如,与被表示为像素阵列的基于光栅的对象不同,已着色的基于矢量的对象318被表示为点、线和/或曲线并且是可缩放的而没有混叠。在该示例中,已着色的基于矢量的对象318在任何pdf绘出应用中都是可见的,从而使得已着色的基于矢量的对象318可用于数字和印刷工作流程。
[0065]
在着色模块110被实现以从包括以z顺序布置的多个对象的组中生成多个已着色的基于矢量的对象的示例中,着色模块110以相反的z顺序(例如,从下到上)遍历该组。着色模块110如上所述为组中的每个对象生成着色网格并且将每个对象和对应的着色网格添加到新组(例如,透明度组的子组或新的透明度组)。着色模块110然后将乘法混合模式应用于
新组中的对象。着色模块110对多个对象中的每个对象重复该过程。
[0066]
着色模块110能够接收矢量对象作为输入并且生成已着色矢量对象作为输出而无需任何附加用户输入或手动注释。尽管不需要,但是着色模块110还能够接收用户输入以定制用于生成已着色矢量对象的参数,诸如膨胀幅度、环境和光的漫射分量的强度、以及光的颜色。例如,用于生成着色网格的已膨胀的三维表面也可用于执行其他三维操作,诸如矢量对象的纹理映射。
[0067]
考虑其中输入数据114描述基于光栅的对象而不是如前所述的基于矢量的对象的示例。在该示例中,着色模块110将基于光栅的对象转换为2色位图并且计算基于光栅的对象内部的所有像素的拉普拉斯算子膨胀。着色模块110利用像素网格作为用于计算拉普拉斯算子矩阵和双拉普拉斯算子矩阵的二维矩阵。着色模块110生成着色构造,该着色构造是基于灰度光栅的对象。着色模块110然后使用如上所述的乘法混合模式合成基于光栅的对象和着色构造以生成已着色的基于光栅的对象。
[0068]
在一些示例中,着色模块110不限于通过膨胀二维网格或利用像素网格作为二维矩阵来生成已着色对象。在这些示例中,着色模块110能够使用可用于在三维中表示二维输入对象的任何法线贴图来生成已着色对象。例如,输入数据114描述其他法线贴图,诸如由用户输入指定的用于将二维输入投影到三维表示中的法线贴图。在一个示例中,着色模块110使用在蓝色通道(例如,蓝色rgb通道)中可获取的z值,该z值被转换为灰度着色光栅。然后,该灰度着色光栅与输入对象合成以生成已着色对象。
[0069]
一般而言,在本节中描述的示例过程的上下文中采用关于以上和以下示例而描述的功能、特征和概念。此外,关于本文档中的不同图和示例而描述的功能、特征和概念彼此可互换并且不限于在特定图或过程的上下文中的实现。此外,与本文中的不同代表性过程和对应图相关联的框可以单独、一起和/或以不同方式组合应用。因此,与本文中的不同示例环境、设备、组件、图和过程相关地描述的个体功能、特征和概念以任何合适的组合可使用,并且不限于由本说明书中列举的示例表示的特定组合。
[0070]
示例过程
[0071]
以下讨论描述利用先前描述的系统和设备可实现的技术。每个过程的各方面可以按照硬件、固件、软件或它们的组合而被实现。这些过程被示出为一组框,该框指定了由一个或多个设备执行的操作,并且不一定限于所示的用于由相应框执行操作的顺序。在以下讨论的各部分中,参考图1至图3。图4是描绘示例实现中的过程400的流程图,其中通过膨胀二维网格来生成三维网格并且基于三维网格的顶点的位置将颜色值应用于着色网格。
[0072]
沿基于矢量的对象的边界检测点(框402)。例如,计算设备102实现着色模块110以沿基于矢量的对象的边界检测点。在另一示例中,着色模块110沿基于矢量的对象的边界采样各点。基于检测到的点形成二维网格(框404)。在一个示例中,着色模块110基于检测到的点形成二维网格。
[0073]
确定基于矢量的对象的几何形状(框406)。在一些示例中,着色模块110确定基于矢量的对象的几何形状。通过基于基于矢量的对象的几何形状使二维网格膨胀来生成三维网格(框408)。例如,计算设备102实现着色模块110以生成三维网格。基于三维网格的顶点的位置将颜色值应用于着色网格(框410)。在一个示例中,着色模块110将颜色值应用于着色网格。
[0074]
图5示出了用于细化一组多个对象的着色网格的边界的剪切路径的示例表示500。表示500包括该组对象中的第一对象502和第二对象504。如图所示,第一对象502是椭圆形而第二对象504是圆角矩形。第一对象502是相对于第二对象504的前景对象。因此,第二对象504是相对于第一对象502的背景对象。
[0075]
表示500还包括剪切组工作流程506,剪切组工作流程506被示出为包括第一剪切组508和第二剪切组510。如图所示,第一剪切组508对应于第一对象502并且第二剪切组510对应于第二对象504。第一剪切组508被描绘为包括剪切路径512,剪切路径512是第一对象502的轮廓或边界。第一剪切组508也被描绘为包括着色网格514,着色网格514是基于使用沿第一对象502的边界而采样的点而形成的已膨胀的二维网格来生成的。
[0076]
第二剪切组510包括剪切路径516和基于第二对象504而生成的着色网格518。例如,着色模块110沿第二对象504的边界采样各点并且使用这些点通过对边界的内部进行三角测量来形成二维网格。在一个示例中,着色模块110将该二维网格膨胀为由着色模块110可使用以生成着色网格518的三维网格。在另一示例中,着色模块110通过应用第二对象504的几何形状作为平滑着色网格518的边界的剪切路径516来细化着色网格518的边界。
[0077]
图6示出了用于修改用于对矢量对象着色的参数的用户界面602的示例表示600。用户界面602包括用户界面元素604至610。例如,用户与诸如鼠标或触控笔等输入设备交互(例如,相对于显示设备106的用户界面120),并且该用户交互的指示被包括在输入数据114中。如果输入数据114描述与第一用户界面元素604的用户交互,则计算设备102实现着色模块110以通过调节关于图2描述的膨胀参数来调节高度场。增加高度场通常会增加顶点的z值,而减少高度场通常会减少z值。
[0078]
如果输入数据114描述与第二用户界面元素606的用户交互,则着色模块110调节用于生成颜色值数据216的光的环境强度。在输入数据114描述与第三用户界面元素608的用户交互的示例中,着色模块110处理输入数据114并且调节用于确定由颜色值数据216描述的颜色值的光的漫射强度。最后,如果输入数据114描述与第四用户界面元素610的用户交互,则着色模块110修改用于生成颜色值数据216的光的颜色(默认为白色)。
[0079]
图7a和图7b示出了输入对象和已着色对象的示例表示700、702。如图7a所示,表示700包括输入对象704和已着色对象706。在一个示例中,输入对象704是矢量对象并且已着色对象706也是矢量对象。在另一示例中,输入对象704是光栅对象并且已着色对象706也是光栅对象。例如,着色模块110接收描述作为家或建筑物的输入对象704的输入数据114,并且着色模块110生成已着色对象706。与输入对象704相比,已着色对象706具有改进的视觉外观。
[0080]
表示700还包括描绘对话泡泡或气球的输入对象708和比输入对象708更美观的已着色对象710。最后,表示700包括作为一组气球的输入对象712和已着色对象714。例如,着色模块110接收描述输入对象712的输入数据114并且着色模块110生成已着色对象714。
[0081]
如图7b所示,表示702包括作为泰迪熊的输入对象716和作为已着色泰迪熊的已着色对象718。如图所示,已着色对象718相对于输入对象716具有改进的视觉外观。着色模块110接收描述作为矢量对象或光栅对象的输入对象716的输入数据114,并且着色模块110生成作为矢量对象或光栅对象的已着色对象718。
[0082]
表示720还包括描绘狮子的输入对象720和描绘已着色狮子的已着色对象722。输
入对象724描绘风景画的风景,并且已着色对象726描绘具有改进的视觉外观的风景画的风景。例如,着色模块110接收描述输入对象724的输入数据114并且着色模块110处理输入数据114以生成已着色对象726。
[0083]
示例系统和设备
[0084]
图8示出了示例系统800,该示例系统800包括示例计算设备,该示例计算设备代表可用于实现本文中描述的各种技术的一个或多个计算系统和/或设备。这通过包括着色模块110来说明。计算设备802包括例如服务提供商的服务器、与客户端相关联的设备(例如,客户端设备)、片上系统、和/或任何其他合适的计算设备或计算系统。
[0085]
所示示例计算设备802包括彼此通信耦合的处理系统804、一种或多种计算机可读介质806以及一个或多个i/o接口808。尽管未示出,但是计算设备802还包括将各种组件彼此耦合的系统总线或其他数据和命令传输系统。例如,系统总线包括不同总线结构中的任何一种或组合,诸如存储器总线或存储器控制器、外围总线、通用串行总线、和/或利用各种总线架构中的任一种的处理器或本地总线。还设想了各种其他示例,诸如控制线和数据线。
[0086]
处理系统804代表使用硬件来执行一个或多个操作的功能。因此,处理系统804被示出为包括被配置为处理器、功能块等的硬件元件810。这包括作为专用集成电路或使用一个或多个半导体而形成的其他逻辑器件的以硬件进行的示例实现。硬件元件810不受形成它们的材料或其中采用的处理机制的限制。例如,处理器由(多个)半导体和/或晶体管(例如,电子集成电路(ic))组成。在这样的上下文中,处理器可执行指令例如是电子可执行指令。
[0087]
计算机可读介质806被示出为包括存储器/存储装置812。存储器/存储装置812表示与一种或多种计算机可读介质相关联的存储器/存储装置容量。在一个示例中,存储器/存储装置812包括易失性介质(诸如随机存取存储器(ram))和/或非易失性介质(诸如只读存储器(rom)、闪存、光盘、磁盘等)。在另一示例中,存储器/存储组件812包括固定介质(例如,ram、rom、固定硬盘驱动器等)以及可移除介质(例如,闪存、可移除硬盘驱动器、光盘等)。计算机可读介质806可以按照如下面进一步描述的多种其他方式而被配置。
[0088]
(多个)输入/输出接口808代表允许用户向计算设备802输入命令和信息并且还允许使用各种输入/输出设备向用户和/或其他组件或设备呈现信息的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风、扫描仪、触摸功能(例如,被配置为检测物理触摸的电容或其他传感器)、相机(例如,使用可见或不可见波长(诸如红外频率)将运动识别为不涉及触摸的手势)等。输出设备的示例包括显示设备(例如,显示器或投影仪)、扬声器、打印机、网卡、触觉响应设备等。因此,计算设备802可以按照如下面进一步描述的多种方式而被配置以支持用户交互。
[0089]
本文中在软件、硬件元件或程序模块的一般上下文中描述了各种技术。通常,这样的模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文中使用的术语“模块”、“功能”和“组件”通常表示软件、固件、硬件或它们的组合。本文中描述的技术的特征是独立于平台的,这表示,这些技术在具有多种处理器的多种商业计算平台上可实现。
[0090]
所描述的模块和技术的实现可被存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。例如,计算机可读介质包括计算设备802可访问的各种介
质。作为示例而非限制,计算机可读介质包括“计算机可读存储介质”和“计算机可读信号介质”。
[0091]“计算机可读存储介质”是指与单纯的信号传输、载波或信号本身相比能够实现信息的持久和/或非暂态存储的介质和/或设备。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移除和不可移除介质等硬件、和/或以适合于存储诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路、或其他数据等信息的方法或技术实现的存储设备。计算机可读存储介质的示例包括但不限于ram、rom、eeprom、闪存或其他存储技术、cd-rom、数字通用磁盘(dvd)或其他光存储、硬盘、磁盒、磁带、磁盘存储或其他磁存储设备、或者适合于存储期望信息并且由计算机可访问的其他存储设备、有形介质或制品。
[0092]“计算机可读信号介质”是指被配置为诸如经由网络向计算设备802的硬件传输指令的信号承载介质。信号介质通常在诸如载波、数据信号或其他传输机制等调制数据信号中包含计算机可读指令、数据结构、程序模块或其他数据。信号介质还包括任何信息传递介质。术语“调制数据信号”是指一种信号,该信号的一个或多个特征以在该信号中编码信息的方式设置或改变。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接等有线介质、以及诸如声学、rf、红外线和其他无线介质等无线介质。
[0093]
如前所述,硬件元件810和计算机可读介质806代表以硬件形式实现的模块、可编程设备逻辑和/或固定设备逻辑,其在一些实施例中可用于实现本文中描述的技术的至少一些方面,诸如执行一个或多个指令。硬件包括集成电路或片上系统、专用集成电路(asic)、现场可编程门阵列(fpga)、复杂可编程逻辑器件(cpld)、以及硅或其他硬件的其他实现的组件。在该上下文中,硬件作为执行由硬件所体现的指令和/或逻辑定义的程序任务的处理设备、以及用于存储用于执行的指令的硬件,例如,先前描述的计算机可读存储介质。
[0094]
前述各项的组合也可用于实现本文中描述的各种技术。因此,软件、硬件或可执行模块可实现以在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件810体现的一个或多个指令和/或逻辑。例如,计算设备802被配置为实现与软件和/或硬件模块对应的特定指令和/或功能。因此,作为软件的由计算设备802可执行的模块的实现至少部分在硬件中被实现,例如通过使用计算机可读存储介质和/或处理系统804的硬件元件810。指令和/或功能由一个或多个制品(例如,一个或多个计算设备802和/或处理系统804)可执行/可操作以实现本文中描述的技术、模块和示例。
[0095]
本文中描述的技术由计算设备802的各种配置可支持并且不限于本文中描述的技术的特定示例。该功能还可以完全或部分通过使用分布式系统而被实现,诸如通过如下所述的“云”814。
[0096]
云814包括和/或代表用于资源818的平台816。平台816抽象云814的硬件(例如,服务器)和软件资源的底层功能。例如,资源818包括在远离计算设备802的服务器上执行计算机处理时使用的应用和/或数据。在一些示例中,资源818还包括通过互联网和/或通过订户网络(诸如蜂窝或wi-fi网络)而提供的服务。
[0097]
平台816抽象资源818并且用于将计算设备802与其他计算设备连接。在一些示例中,平台816还用于抽象资源的缩放以提供对对经由平台实现的资源的所遇到的需求的对
应级别的缩放。因此,在互连设备实施例中,本文中描述的功能的实现可分布在整个系统800中。例如,该功能部分地在计算设备802上以及经由抽象云814的功能的平台816可实现。
[0098]
结论
[0099]
尽管已经用特定于结构特征和/或方法的语言描述了用于对矢量对象着色的系统的实现,但是应当理解,所附权利要求不必限于所描述的特定特征或方法。相反,特定特征和方法被公开作为用于对矢量对象着色的系统的示例实现,并且其他等效特征和方法旨在在所附权利要求的范围内。此外,描述了各种不同示例,并且应当理解,每个描述的示例独立地或结合一个或多个其他描述的示例可实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献