CN108876868B - 通过根据方向指导放置简单形状的实例来计算机化生成装饰设计 - Google Patents
通过根据方向指导放置简单形状的实例来计算机化生成装饰设计 Download PDFInfo
- Publication number
- CN108876868B CN108876868B CN201810184402.XA CN201810184402A CN108876868B CN 108876868 B CN108876868 B CN 108876868B CN 201810184402 A CN201810184402 A CN 201810184402A CN 108876868 B CN108876868 B CN 108876868B
- Authority
- CN
- China
- Prior art keywords
- streamline
- decorative
- decorative graphic
- ridge
- placement
- 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.)
- Active
Links
- 238000013461 design Methods 0.000 title abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 14
- 238000010586 diagram Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 2
- 239000000203 mixture Substances 0.000 abstract description 9
- 230000000007 visual effect Effects 0.000 abstract description 8
- 238000009877 rendering Methods 0.000 abstract description 6
- 230000008447 perception Effects 0.000 abstract description 3
- 238000005452 bending Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 17
- 238000003860 storage Methods 0.000 description 9
- 241000251468 Actinopterygii Species 0.000 description 8
- 241000282472 Canis lupus familiaris Species 0.000 description 6
- 241000282320 Panthera leo Species 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 210000003625 skull Anatomy 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000004806 packaging method and process Methods 0.000 description 4
- 238000012856 packing Methods 0.000 description 4
- 241001465754 Metazoa Species 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 208000019300 CLIPPERS Diseases 0.000 description 2
- 238000012952 Resampling Methods 0.000 description 2
- 208000021930 chronic lymphocytic inflammation with pontine perivascular enhancement responsive to steroids Diseases 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000010146 3D printing Methods 0.000 description 1
- 238000012935 Averaging Methods 0.000 description 1
- 241000435574 Popa Species 0.000 description 1
- 241000282806 Rhinoceros Species 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005034 decoration Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/14—Transformations for image registration, e.g. adjusting or mapping for alignment of images
- G06T3/153—Transformations for image registration, e.g. adjusting or mapping for alignment of images using elastic snapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/40—Filling a planar surface by adding surface attributes, e.g. colour or texture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/001—Texturing; Colouring; Generation of texture or colour
-
- 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
-
- 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/206—Drawing of charts or graphs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/04—Context-preserving transformations, e.g. by using an importance map
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/403—Edge-driven scaling; Edge-based scaling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/32—Indexing scheme for image data processing or generation, in general involving image mosaicing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2210/00—Indexing scheme for image generation or computer graphics
- G06T2210/44—Morphing
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请的各实施例涉及通过根据方向指导放置简单形状的实例来计算机化生成装饰设计。用于计算机化绘制由简单形状的放置的实例构成的装饰设计的系统和方法。从小的模板库选择被称为元素的形状。使元素变形以沿着从用户供应的笔划插值的方向场流动,从而给予向最终组成的可视流的感觉,元素并且被约束为落在容器区域内。在一个实现方式中,基于用户笔划来计算矢量场。构造服从矢量场的流线,并且在每个流线上放置元素。可以比如通过弯曲、伸展或者放大来修改元素的形状以减少在元素之间的间距并且最小化间距变化以提高美观。
Description
本专利文献的公开内容的部分包含受到版权保护的材料。版权所有者不反对如在美国专利和商标局的专利文件或者记录中出现的那样由任何人影印再现专利文献或者专利公开内容,但是除此之外保留所有任何版权权利。
技术领域
本公开内容总体上涉及数据处理领域,并且更特别地涉及装饰设计的计算机化生成。
背景技术
流行的装饰设计样式涉及用许多小装潢元素填充容器区域。装潢元素是简单几何形式,经常为样式化的植物、螺线或者其它抽象形状。元素大到足以可以个别地认识它们,但是它们一起工作以传达总体容器形状。通常地,它们也形成聚合(cohesive)样式族。
已经存在对计算机图形的适量以往研究,特别地在非相片逼真渲染领域中、关于包装或者马赛克的生成。大多数技术经由刚性运动将元素打包,从而造成高均匀性,但是多样性不足。其它工作涉及分布小几何元素以创建纹理或者马赛克。A.Hausner例如在Simulating decorative mosaics,Proceedings of the 28th Annual Conference onComputer Graphics and Interactive Techniques,SIGGRAPH’01,第573-580页.ACM,NewYork,NY,USA,2001.doi:10.1145/383259.383327中描述用以在传统马赛克的仿真中分布相对于矢量场而被定向的方形瓦片的Lloyd式方法的变体。后续工作已经将该方式推广至相异元素形状族并且并入基于FFT的图像相关步骤以产生更均匀的负空间。例如,参见S.Hiller,H.Hellwig和O.Deussen,Beyond Stippling-Methods for DistributingObjects on the Plane,Computer Graphics Forum,2003.doi:10.1111/1467-8659.00699;以及K.Dalal、A.W.Klein、Y.Liu和K.Smith,A spectral approach to NPRpacking,Proceedings of the 4th International Symposium on Non-photorealisticAnimation and Rendering,NPAR’06,第71-78页.ACM,New York,NY,USA,2006.doi:10.1145/1124728.1124741。
分离的研究线索将元素的放置视为基于示例的纹理合成的形式;例如,参见T.Hurtut、P.-E.Landes、J.Thollot、Y.Gousseau、R.Drouillhet和J.-F.Coeurjolly,Appearance-guided synthesis of element arrangements by example,Proceedings ofthe 7th International Symposium on Non-Photorealistic Animation andRendering,NPAR’09,第51-60页.ACM,New York,NY,USA,2009,doi:10.1145/1572614.1572623;以及Z.AlMeraj、C.S.Kaplan和P.Asente,Patch-based geometrictexture synthesis,Proceedings of the Symposium on Computational Aesthetics,CAE’13,第15-19页.ACM,New York,NY,USA,2013.doi:10.1145/2487276.2487278。在这些技术中,目标是再现输入纹理的统计性质,包括在元素之间的不规则间距。T.Ijiri、R.Měch、T.Igarashi和G.S.P.Miller,in An example-based procedural system for elementarrangement,Comput.Graph.Forum,27:429-436,2008提出生长模型,在该模型中,元素可以相对于矢量场被定向并且受边界曲线约束。在这些情况中,与基于Lloyd式方法的技术一样,经由平移和旋转来放置元素而没有提供变形。
其它工作包括将元素紧密地打包到容器区域中从而根本没有留下负空间的拼图图像马赛克(JIM),例如,参见J.Kim,F.Pellacini,Jigsaw image mosaics,Proceedingsof the 29th Annual Conference on Computer Graphics and InteractiveTechniques,SIGGRAPH’02,第657-664页.ACM,New York,NY,USA,2002.doi:10.1145/566570.566633。经由优化来构造JIM,该优化允许有限程度的重叠和变形。在C.S.Kaplan和D.H.Salesin,Escherization,Proceedings of the 27th Annual Conference onComputer Graphics and Interactive Techniques,SIGGRAPH’00,第499-510页.ACMPress/Addison-Wesley Publishing Co.,New York,NY,USA,2000.doi:10.1145/344779.345022中描述基于用户供应的形状来对平面的平铺的计算。这些技术没有考虑由负空间的流或者控制赋予的设计机会。
不同种类的以往研究寻求开发用于编著装潢图案的显式过程模型。M.T.Wong、D.E.Zongker和D.H.Salesin在Computer-generated floral ornament,Proceedings ofthe 25th Annual Conference on Computer Graphics and Interactive Techniques,SIGGRAPH’98,第423-434页.ACM,New York,NY,USA,1998.doi:10.1145/280814.280948中沿着用于对植物装饰物布局的语法式系统接合包括重复、平衡和服从几何约束的用于装潢艺术的设计原则集合。另一示例是DecoBrush,其中如由以下文献描述的那样沿着线艺术使装饰元素变形:J.Lu、C.Barnes、C.Wan、P.Asente、R.Měch和A.Finkelstein in DecoBrush:Drawing structured decorative patterns by example,ACM Trans.Graph.,33(4):90:l-90:9,2014年7月.doi:10.1145/2601097.2601190。如由P.Guerrero、G.Bernstein、W.Li和N.J.Mitra在PATEX:Exploring pattern variations,ACM Trans.Graph.,35(4):48:1-–48:13,2016年7月.doi:10.1145/2897824.2925950中描述的PATEX系统在装饰设计被编辑之时保留高级别几何关系,如对称和重复。
其它有关研究包括与将个别字母形式或者文本块打包到容器区域中(如例如通过利用少量字母填充容器组成一个或者两个词)来构造图形诗的研究。例如,参见J.Xu和C.S.Kaplan,Calligraphic packing,Proceedings of Graphics Interface 2007,GI’07,第43-50页.ACM,New York,NY,USA,2007.doi:10.1145/1268517.1268527;以及C.Zou、J.Cao、W.Ranaweera、I.Alhashim、P.Tan、A.Sheffer和H.Zhang,Legible compactcalligrams,ACM Trans.Graph.,35(4):122:1-122:12,2016年7月.doi:10.1145/2897824.2925887。目标是在消耗容量空间与保留可读性之间平衡。另一示例是比如由R.Maharik、M.Bessmeltsev、A.Sheffer、A.Shamir和N.Carr在Digital micrography,ACMSIGGRAPH2011Papers,SIGGRAPH’11,第100:1-100:12页.ACM,New York,NY,USA,2011.doi:10.1145/1964921.1964995中描述的那样使线或者文本变形以沿着容器中的流线相配。
最后,一些新近工作已经探索在制作所施加的约束之下在表面上精心制作装饰图案。例如,W.Chen、X.Zhang、S.Xin、Y.Xia、S.Lefebvre和W.Wang,Synthesis of filigreesfor digital fabrication,ACM Trans.Graph.,35(4):98:1-98:13,2016年7月,doi:10.1145/2897824.2925911描述一种用以合成填充金银丝细工图案的方法。J.Zehnder、S.Coros和B.Thomaszewski,Designing structurally sound ornamental curvenetworks,ACM Trans.Graph.,35(4):99:1-99:10,2016年7月,doi:10.1145/2897824.2925888提出用于使装饰曲线变形以覆盖表面的半自动化的工具。在两种情况中,必须计算元素布局以满足美观和结构目标二者——最明显地,元素必须重叠以产生将在3D打印时保持在一起的连接结果。
尽管以上描述的工作提供多种用于生成艺术作品的技术,但是仍然需要计算机化的方法和系统,这些方法和系统可以运用由不规则形状的元素填充的容器来生成装饰设计,这些装饰设计在视觉上怡人并且允许在传达容器的总体形状之时个别地认识元素。
发明内容
本申请的各实施例涉及通过根据方向指导放置简单形状的实例来计算机化生成装饰设计。
附图说明
在本说明书中并入的并且构成本说明书的部分的附图举例说明本发明的实施例,并且与说明书一起用以说明和图示这里公开的发明技术的原理。具体地:
图1是图示装饰元素打包系统的一个实施例的高级别示图。
图2图示装饰包装的四个附加示例。
图3A和图3B是图示图1的元素放置116操作的操作细节的流程图。
图3C是图3A和3B中所示的步骤的图示。
图4A是图示用于元素放置的LR函数的生成的更多细节的流程图。
图4B是图4A中所示的操作的图示。
图5是流线映描的图示。
图6是图示元素和团点匹配的更多细节的流程图。
图7A、图7B和图7C图示元素的变形。
图8A和图8B图示流线伸展的方面。
图9A和图9B图示流线对齐(snapping)。
图10、图11和图12提供装饰包装的更多示例。
图13图示可以在各种实施例中被运用的硬件的框图。
具体实施方式
在以下描述中,将参照附图,在附图中,用相似标号标示相同功能单元。前述附图通过说明而不是限制来示出与本发明的原理一致的具体实施例和实现方式。以充分细节描述这些实现方式以使本领域技术人员能够实践本发明,并且将理解,可以利用其它实现方式并且可以做出对各种单元的结构改变和/或替换而没有脱离本发明的精神实质和范围。因此不会在限制意义上解释以下具体描述。
这里公开的系统和方法允许对由简单形状的放置的实例构成的装饰设计的计算机化绘制。可以从小的模板库选择被称为元素的这些形状。使元素变形以沿着从用户供应的笔划插值的方向场流动,从而给予向最终组成的可视流的感觉并且被约束为落在容器区域内。在一个实现方式中,基于用户供应的笔划来计算矢量场。构造服从矢量场的流线,并且在每个流线上放置元素。
在图1中示出如以上描述的那样操作的装饰元素打包系统100。一个或者多个用户101与系统100交互以生成比如在106处所见的装饰设计。系统100包括可以被用来存储多个预先生成的容器104和多个预先生成的元素105的存储装置103。容器104采用可视图像的形式,这些可视图像采用简单闭合曲线的形式,换言之,这些闭合曲线也就是如下曲线,该曲线没有端点并且完全地包围区域,而且在该曲线中,曲线没有穿过自身。简单闭合曲线不限于任何特定形状,比如已知几何形状,但是作为替代可以不对称并且可以形状不规则,如例如图中所示的各种图像。尽管图中所示的图像为动物或者动物头部或者人类头骨的图像,但是容器104不限于动物或者人类的图像。尽管容器104被示出为具有相接周界的视觉闭合容器,但是完成的装饰设计106无需具有相接或者无间断的可视周界。例如,图1中的装饰设计106在它的周界中具有多个不连续,正如装饰设计在其它图中那样。如进一步说明的那样,结合图4B,元素105采用可视形状的形式,这些可视形状采用简单闭合曲线的形式,这些形状无需对称并且也可以形状不规则。元素105也可以是如例如在图4B中的105.1处所见的、具有两个曲线的简单闭合曲线的集合。
用户101可以通过选择容器104来使系统100生成装饰设计106。图1中的由用户101选择的容器104是三个容器的集合:鱼身和两个鳍。用户101也可以选择用于在容器104内放置的一个或者多个元素105。系统100经由在116处被一般地示出的并且结合其余图和附图描述而被进一步描述的一系列操作来放置选择的元素105。简言之,对于元素放置116,用户101将提供用于选择的容器104的一个或者多个(通常为多个)用户指定的有向流或者方向指导。可以在鱼的身体内在图1中在114处看见一个流。其它流可以被放置在容器104内的其它定位处,并且也正如所见沿着容器104的周界。用户101也可以将一个或者多个固定的元素放置到容器110中,比如眼睛112。可以从被存储在存储装置103中的固定的元素的集合选择或者可以由用户101手动地生成固定的元素112。选择的元素105通过在如由有向流114指示的局部流向中对它们进行定向而被放置在选择的容器104中。也可以使选择的元素105变形以捕获流向改变。也使某些元素105变形以平衡负空间的使用与相邻元素。也可以改变某些元素105的大小。在某些实施例中,元素放置116操作放置选择的元素105以实现以下各项中的一项或者多项:(i)跟随由方向指导114定义的流,(ii)在放置的元素之间具有尽可能小的空的空间,(iii)使在元素之间的间距尽可能平均,(iv)使元素服从容器边界,(v)变化元素宽度和长度以避免过渡均匀布置。
用于容器104的所得装饰设计106可以被存储在存储装置103中和/或被使得可由用户101用于其它使用,比如向其他人传输、进一步编辑、打印等。数字存储装置103被一般地示出,但是可以采用用于数字内容的多种存储形式,包括跨许多存储设备被物理地展开的并且也与系统100的其它部分部分地或者完全地有物理距离的存储装置。
图2图示可以由系统100生成的装饰设计106的四个附加示例,比如狗、鱼、狮子头和头骨。在图4B中示出(以下更具体描述)元素105的示例,其中每个元素105具有与之关联的对关联的元素105的变形进行控制的脊109。系统100的实施例操作以根据对于装饰设计的构造而言重要的一个或者多个高级别原理生成图1和图2中所见(以及也如以后在图9至图11中描述)的装饰设计106。(1)平衡——组成没有展现正和负空间局部数量的太多变化。通常地,这一目标通过限制元素的直径的变化(控制正空间变化)并且在保证元素间隔平均(控制负空间)而被实现。(2)流——在组成的局部部分中,元素被定向为传达有向性或者流的感觉。所示示例展现某个流数量。在狗中,许多元素表现为在躯干的中心从花朵向外流动,并且然后沿着颈部向上流动和向下流入腿中。在鱼上的刻度和其它元素沿着它的身体的长度流动。在狮子和头骨中,元素从中心对称轴向外水平地流动,从而暗示在狮子的情况下的皮毛或者胡须。流向组成添加可视兴趣,从而通过提供进度和移动经过元素的感觉来吸引查看者。(3)在多样性之中的均匀性——重复的元素必须在两个相对力之间平衡。均匀性以总体设计统一为目标;多样性寻求打破单纯重复的单调性。应当允许元素在形状上变化,但是以受控方式。这一原理被称为在多样性之中的均匀性,借自哲学家FrancisHutcheson的术语。参见F.Hutcheson,An Inquiry Into the Original of Our Ideas ofBeauty and Virtue,J.and J.Knapton and others,1729。关于设计变化的作用也参见E.H.Gombrich,The Sense of Order:A Study in the Psychology of Decorative Art,Phaidon Press Limited,1984。在这里的示例中,狗的螺线和鱼的刻度均遵守这一原理。狮子和头骨也是,不同在于元素的一半是另一半跨经过组成的中心的竖线的反映的副本。这一重复强调设计的双边对称性。(4)固定的元素——组成使用少量固定的元素以解决具体设计问题或者提供焦点。在任何象征绘图中,眼睛用作强大焦点;图2中的每个示例让眼睛作为独特固定的元素112而被绘入(经由仔细地放置的螺线表达狗眼)。需要专门化的形状的其它情形包括狗爪、鱼牙和鱼鳍、狮子的胡须和头骨的牙齿。正和负空间平衡的尖锐变化也可以被用来将焦点强调为在鱼眼周围的空区域中。(5)边界——在许多装饰包装中,仔细地布置元素以服从和强调容器边界。鱼最清楚地展示这一原理:可以容易地填充在元素之间的间隙以形成连续轮廓的智力图像。也对准好狗的元素以指示容器形状。然而,这一规则不是通用的。狮子艺术地利用向外流向模糊边界的元素从而帮助传达皮毛的外观来推翻它。
系统100的结果也避免经由造成高均匀性、但是多样性不足的刚性运动来对元素打包。系统100提供几何变形的系统性模式,这些模式可以从单个输入形状生成合理的有关装饰元素族。系统100聚焦于对大量小元素打包以生成大视觉相异元素的组成。打包没有太密,从而使得每个单个形状可识别。
图3A和图3B是图示图1的元素放置116操作的操作细节的流程图。图3C图示在图3A和图3B中被执行的步骤的可视结果。这里利用结合其余图而被提供的细节概括图3A、图3B和图3C中所示的操作。在302处初始化输出数据结构并且在304处经由用户输入306获得任何固定的元素,比如112。在308处分析选择的装饰元素105并且在310处为每个选择的装饰元素105创建形状描述符。在310处使用方向指导114以利用矢量场填充每个目标容器106。图1示出单个方向指导114,但是可以存在多于一个方向指导。在312处在矢量场中映描流线。在314处将目标容器划分成在流线周围的团点。在316处,元素形状描述符被用来确定用于每个团点的最佳元素。在318处在对应团点中放置元素从而将它视为骨骼笔划并且将它的脊映射到流线。
在其中存在多个容器待填充的实例中,为每个容器执行这里描述的操作。变量input_size被定义为如由用户101布局的所有目标容器和固定的元素的组合的宽度或者高度的最大值。这将被用来在合成过程中设置各种参数。
装饰元素105采用可以形状不规则的一个或者多个闭合的曲线的形式。元素105的放置运用比如S.C.Hsu、I.H.H.Lee和N.E.Wiseman在Skeletal strokes,in Proceedingsof the 6th Annual ACM Symposium on User Interface Software and Technology,UIST’93,第197-206页.ACM,New York,NY,USA,1993.doi:10.1145/168642.168662中描述的简单骨骼笔划算法来使如果不是多数则为许多放置的元素进行变形。这样的技术运用直脊(比如脊109)以指导变形。脊109无需经过元素105的中心;它可以在任何位置。可以在图4B中看见与元素105对应的脊109的示例(具体为109.1-109.6),该图示出两类元素:在它们的脊的两侧上延伸的全元素(比如105.1-105.3)和完全地在它们的脊的一侧上的半元素(比如105.4-105.6)。如果输入101包括与目标容器边界重合的方向指导114,则将放置半元素以沿着这些边界对准。半元素(具有接近地跟随它们的脊的边缘)操作以可视地加强容器边界。
对于每个元素,创建被称为LR函数的简单形状描述符。这将以后被用来选择放置哪个元素。图4A示出形状描述符的构造。在402中,在n个位置处对元素105的脊109采样。n的值=100一般地提供充足粒度。在404处,在每个采样的位置关于装饰物向脊的左侧和右侧延伸多远做出确定。LR函数是集合{L,R},其中L={L1,...,Ln}是左函数并且R={r1,...,rn}是右函数。由R.Gal、A.Shamir和D.Cohen-Or在Pose-oblivious shape signature,IEEETransactions on Visualization and Computer Graphics,13(2):261-271,2007年3月.doi:10.1109/TVCG.2007.45中描述这样的技术的更多细节。
直观地,LR函数占用装饰元素的近似区域。图4B示出六个元素(全元素105.1-105.3和半元素105.4-105.6)。与每个元素105关联的左和右值与关联元素一起在420.1-420.6处用图形被示出。全元素105.1-105.3具有非空左侧和右侧,而半元素105.4-105.6仅有一侧。在406处通过将LR函数的域和范围缩放至区间[0,1]来对它们进行正规化。
为了根据用户定义的流放置元素105(如由方向指导114定义的那样),每个目标容器104利用矢量场被填充、受该容器中的方向指导114约束。方向指导114,D={d1,d2,...,dn}各自被采样,并且在每个采样的点处的切线被用作有向约束。然后使用由Palacios和E.Zhang,Rotational symmetry field design on surfaces,in ACM SIGGRAPH2007Papers,SIGGRAPH’07.ACM,New York,NY,USA,2007.doi:10.1145/1275808.1276446描述的N-RoSy(N向旋转对象)算法来构造在图3C中在310处大体地示出的矢量场。固定的元素112没有影响矢量场。用户101可以包括用以如果这样希望则在固定的元素112周围指导矢量场的有向指导114。
图5图示在矢量场中映描流线(如例如图5中的501-508)的、图3B和图3C的步骤的更多细节。流线映描由三个输入参数指导:d_gap是比如在509-513所见的流线之间的希望的空间,s_max是最大希望流线长度,s_min是最小希望流线长度。第一流线501总是在有向指导114上开始。后续流线(502-508)在容器104边界、有向指导114上或者在与先前流线相距d_gap的点开始。在以后步骤中,沿着流线放置元素105而没有重叠,因此d_gap确定放置的元素的近似宽度,并且s_max确定最大长度。得出和运用值d_stop以防止流线相互太近。在一个样本实现方式中,d_stop=0.8d_gap。
在一个实施例中,如在以下伪代码中所示适配和实施由B.Jobard和W.Lefer,Creating evenly-spaced streamlines of arbitrary density,in W.Lefer andM.Grave,eds.,Visualization in Scientific Computing’97:Proceedings of theEurographics Workshop in Boulogne-sur-Mer France,1997年4月28-30日,第43-55页.Springer Vienna,Vienna,1997.doi:10.1007/978-3-7091-6876-9_5描述的流线映描算法。通过对目标容器104边界T和在D中的有向指导114密集地重新采样来生成潜在种子点集合P={p1,p2,...,pn}。举例而言,可以使用采样距离0.005input_size。创建流线的空集合并且对潜在种子点集合P随机地排序。通过从P随机地去除种子点并且跟随矢量场、直至以下条件之一成立来生成新流行:
1.s的长度将超过s_max。
2.s将落在另一流线的d_stop内。
3.s将穿过T,从而离开容器104。
4.s将穿过固定的元素112的边界。
测试s的长度,并且如果s的长度小于s_min,则丢弃它。否则使用0.005input_size来对s再次采样,并且在每个点处生成在任一侧上与s相距d_gap的两个更多潜在种子。如果种子在容器104以内,则向P添加它。重复该过程直至P为空。注意,与s_min长度测试组合的d_stop距离测试意味着用以形成流线的许多尝试将立即停止,尤其是在容器利用流线填充时。对P进行排序以根据它们与边界T的距离和在D中的有向指导对P中的点进行排序,其中较近点在先并且等距点被随机地排序。由于初始点都在T上或者在D中的路径上,所以它们的排序值为零,并且将在任何得出的点之前处理它们。
目标容器104利用矢量场被填充(图3A的步骤310)如下以用于单个容器106的填充。可以按照以下伪代码中所示的方式在软件代码中实施以上描述的操作。
映描流线
通过对T和在D中的指导均匀地重新采样来创建种子列表P={p1,p2,...,pn}。
创建空的流线集合S。
对P的元素随机地排序。
while P不为空,do
从p1生成新流线s。
从P去除p1。
if s比s_min更长,then
向S添加s。
创建与s相距d_gap的种子点并且向P添加它们。
SORT(P)。
end if
end while
版权2016Adobe Systems公司。
图6图示被执行以辅助选择沿着每个流线放置哪个元素105的操作。在602处,从目标容器104减去任何固定的元素105的区域。在604处,使用S.Osher和J.A.Sethian在Frontspropagating with curvature-dependent speed:Algorithms based on hamilton-jacobi formulations,J.Comput.Phys.,79(1):12-49,Nov.1988.doi:10.1016/0021-9991(88)90002-2中描述的方法来由内部构造近似广义Voronoi图。如本领域技术人员将领会到的,Voronoi图是基于在平面的具体子集中到点的距离来将平面划分成区域。在606处,在每端延伸流线,从而跟随矢量场,直至它们遇到它们的Voronoi区域的边界。在每个流线周围的区域被称为子区域团点,比如在图3C中的314处大体地所见并且作为用于元素105的放置区域操作。在608处,使用流线作为脊109如以上结合图4A而被描述的那样为每个团点计算LR函数。由于流线并不总是直的,所以计算沿着流线的法线的左和右距离。如果流线将被直化,则LR函数近似团点的形状。
下一步骤用以在每个团点中放置装饰元素105,比如图7A至图7C中所示。通过找到如下元素来选择用以在团点702中放置的元素105,该元素将被定义如下的、在元素105的外周界与团点702的内周界之间的最小平方距离之和最小化:
其中:
αl是元素左函数
αr是元素右函数
βl是团点左函数
βr是团点右函数
对于在四个定向中放置而被评估每个元素105:如绘图的那样、如跨它的脊而被反映的那样、如沿着它的脊而被反映的那样以及如跨和沿着它的脊二者而被反映的那样。为了跨脊反映,交换左和右函数。为了沿着脊反映,将左和右函数重新参数化以从1到0而不是0到1。注意,这一匹配算法沿着跟随容器边界的流线自动地放置半元素从而可视地加强总体形状。
可以使用R.Gal、O.Sorkine、T.Popa、A.Sheffer和D.Cohen-Or在3D collage:Expressive non-realistic modeling,in Proceedings of the5th InternationalSymposium on Non-photorealistic Animation and Rendering,NPAR’07,第7-14页.ACM,New York,NY,USA,2007,doi:10.1145/1274871.1274873中描述的方式来运用用于形状匹配的备选。这样的方式试图尽可能多填充子区域团点,其中如果元素的部分在团点的边界以外突出则有重惩罚。然而,已经发现这使计算更昂贵而没有提供较这里公开的LR函数而言的显著优点。
图7A、图7B和图7C将变形过程图示为它沿着流线弯曲元素105并且缩放它以在团点702以内相配。一旦选择元素105,如图7A、图7B和图7C中所见使用如S.C.Hsu、I.H.H.Lee和N.E.Wiseman在Skeletal strokes,in Proceedings of the 6th Annual ACMSymposium on User Interface Software and Technology,UIST’93,第197-206页.ACM,New York,NY,USA,1993.doi:10.1145/168642.168662中描述的简单骨骼笔划算法沿着流线114来放置它。均匀地缩放元素105的宽度以使它尽可能宽而仍然留在团点702内,比如图7C中所示。图7A图示选择的元素105和脊109。在图7B中,已经在团点702中放置元素并且已经使元素变形以使脊109跟随流线,如例如流线501。如图7B中所见,元素105在团点702中大量地相配,但是比如在704所见部分延伸超出团点702的周界。在图7C中,已经缩放元素105以使得延伸超出团点702周界以外的部分704在团点702周界内相配。
图8A和图8B图示如以上结合步骤606而被描述的流线伸展的方面。如图8A和图8B中所见,伸展流线501直至端801和802迫近和接触团点702的边界803和804。这允许被放置在团点702内的元素105更长,因为关联流线501更长。
图9A和图9B图示被称为流线对齐的另一方面。如果流线501的几乎整个部分接近元素105的边界,则调整(对其)整个流线以确切地在边界上。这允许在流线501与元素105的边界之间的更佳相符。
可以在矢量图形编辑器(比如从Adobe Systems公司可用的Adobe Illustrator)中设计容器和装饰元素,并且然后使用它们作为向C++程序的输入,该程序在SVG文件中输出最终放置的元素。如由A.Johnson,Clipper—an open source freeware library forclipping and offsetting lines and polygons,http://www.angusj.com/delphi/clipper.php,2014描述的Clipper库可以被用于计算LR函数以及用于在变形和生长器件测试多边形交点。作为后过程,可选地可以平滑轮廓并且可以用贝赛尔曲线替换多边形路径。最后,可以在编辑器中应用颜色和其它处理。
这里公开的技术可以与多种容器形状和具有可变数量的几何复杂性的许多不同装饰元素一起被使用。图10示出具有简单泪珠元素105的犀牛106的包装,该包装展示形状和曲率可实现的多样性。可以在图11中的熊106上使用更复杂的叶元素。调整映描参数以获得更短的放置的元素。也可以进一步处理放置的元素以创建哀伤面容。
在某些实施例中,可以向流水线添加延伸以增强美观价值和灵活性。例如,如图12中所示,通过从在元素之间的负空间计算偏移多边形来构造显式新形状以填充在放置的元素之间的负空间。结果是相异而吸引人的样式。
这里公开的实施例创建美观包装,其中矢量场被用来提供可视流的感觉。通过使用初始装饰元素的小集合的反复的副本来实现均匀程度,但是通过使那些元素变形来平衡该均匀性与多样性。在其它实施例中,可以沿着流线使多个更短元素穿过而不是要求元素完全地填充流线。
图13描绘适当通用计算系统1300的广义示例,在该计算系统中可以实施描述的本发明以便提高计算系统1300生成装饰设计106的处理速度和效率。参照图13,计算系统1300包括一个或者多个处理单元1302、1304和存储器1306、1308。处理单元1302、1306执行计算机可执行指令。处理单元可以是通用中央处理单元(CPU)、专用集成电路(ASIC)中的处理器或者任何其它类型的处理器。有形存储器1306、1308可以是可由处理单元存取的易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)或者二者的某个组合。图13中的硬件部件可以是标准硬件部件,或者备选地,一些实施例可以运用专门化的硬件部件以进一步增加系统100操作的操作效率和速度。
计算系统1300可以具有附加特征,如例如存储装置1310、一个或者多个输入设备1314、一个或者多个输出设备1312和一个或者多个通信连接1316。互连机制(未示出)(比如总线、控制器或者网络)互连计算系统1300的部件。通常地,操作系统软件(未示出)提供用于在计算系统1300中执行的其它软件的操作系统,并且协调计算系统1300的部件的活动。
有形存储装置1310可以可移除或者不可移除并且包括磁盘、磁带或者盒、CD-ROM、DVD或者可以用来以非瞬态方式存储信息并且可以在计算系统1300内被访问的任何其它介质。存储装置1310存储用于实施这里描述的一个或者多个本发明的软件的指令。
输入设备1314可以是触摸输入设备(比如键盘、鼠标、笔或者跟踪球)、语音输入设备、扫描设备或者向计算系统1300提供输入的另一设备。对于视频编码,输入设备1314可以是相机、视频卡、TV调谐器卡或者接受以模拟或者数字形式输入的视频的相似设备或者将视频采样读取到计算系统1300中的CD-ROM或者CD-RW。输出设备1312可以是显示器、打印机、扬声器、CD写入器或者从计算系统1300提供输出的另一设备。
通信连接1316实现向另一计算实体的通过通信介质的通信。通信介质传达信息,比如计算机可执行指令、音频或者视频输入或者输出或者在调制的数据信号中的其它数据。调制的数据信号是如下信号,该信号让它的特性的一个或者多个特性以对信号中的信息进行编码这样的方式被设置或者改变。举例而言而非限制,通信介质可以使用电、光、RF或者另一载体。
可以在目标实际或者虚拟处理器上的计算系统中执行计算机可执行指令(比如在程序模块中包括的计算机可执行指令)的一般情境中描述本发明。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、库、对象、类、部件、数据结构等。可以在各种实施例中如希望的那样在程序模块之间组合或者拆分程序模块的功能。可以在本地或者分布式计算系统内执行用于程序模块的计算机可执行指令。
这里可互换地使用术语“系统”和“计算设备”。除非上下文清楚地另有指示,任一术语都没有意味着对计算系统或者计算设备类型的任何限制。一般而言,计算系统或者计算设备可以是本地或者分布式的,并且可以包括专用硬件和/或通用硬件与实施这里描述的功能的软件的任何组合。
尽管已经结合优选实施例描述本发明,但是它没有旨在于使本发明的范围限于阐述的具体形式,而是恰好相反,它旨在于覆盖可以在如在由所附权利要求限定的本发明的精神实质和范围内的这样的备选、修改和等效物。
Claims (20)
1.一种其中一个或者多个处理设备执行操作的计算机化的方法,包括:
在图形编辑应用的界面中显示:
目标容器,所述目标容器具有由形成不对称形状的闭合曲线限定的边界;
装饰图形元素;
经由所述界面接收方向指导,所述方向指导与所述目标容器对应,并且指示所述装饰图形元素的希望的有向流;
在所述目标容器内生成根据所述方向指导的矢量场;
在所述矢量场中生成由第一组流线点限定的第一流线,所述第一组流线点被放置在所述方向指导上;
在所述矢量场中生成由第二组流线点限定的第二流线,所述第二组流线点被放置在以下一项或多项上:(1)所述目标容器的所述边界,以及(2)距所述第一流线指定距离处;
基于所述第一流线和所述第二流线来将所述目标容器划分成放置区域,所述放置区域指定针对所述目标容器的所述边界内的所述装饰图形元素的非重叠位置;
将特定装饰图形元素匹配到特定放置区域,其中所述匹配包括:
构造针对所述特定装饰图形元素的元素形状描述符,
构造针对所述特定放置区域的区域形状描述符,以及
基于元素形状描述符相比于针对其他放置区域的其他区域形状描述符与所述区域形状描述符更接近地匹配,来将所述特定装饰图形元素匹配到所述特定放置区域;以及
通过将每个装饰图形元素放置在相应的放置区域中来更新所述界面。
2.根据权利要求1所述的计算机化的方法,还包括根据多个流线之中的指定间距、最大希望流线长度和最小希望流线长度,在所述矢量场中生成所述多个流线,所述多个流线包括所述第一流线和所述第二流线。
3.根据权利要求2所述的计算机化的方法,其中将所述特定装饰图形元素放置在所述特定放置区域中包括:
关联脊与所述特定装饰图形元素;
在来自所述多个流线的对应流线上放置所述脊;
使所述脊变形以匹配所述对应流线的路径;以及
根据所述脊的所述变形使所述特定装饰图形元素变形。
4.根据权利要求2所述的计算机化的方法,其中将所述特定装饰图形元素放置在所述特定放置区域中包括调整所述特定装饰图形元素的大小,其中具有调整的所述大小的所述特定装饰图形元素在匹配的所述放置区域的边界内完全地相配,并且没有与任何其它放置的装饰图形元素重叠。
5.根据权利要求1所述的计算机化的方法,
其中构造所述元素形状描述符包括:
关联脊与所述特定装饰图形元素;
在所述脊上的多个点处测量所述特定装饰图形元素从所述脊延伸的脊距离;以及
将所述脊距离正规化;
其中构造所述区域形状描述符包括:
在与所述特定放置区域相关联的流线上的多个点处测量所述特定放置区域从所述流线延伸的流线距离;以及
将所述流线距离正规化。
6.根据权利要求1所述的计算机化的方法,所述操作还包括伸展流线以使所述流线的端延伸至被匹配到所述特定装饰图形元素的所述特定放置区域的端。
7.根据权利要求1所述的计算机化的方法,其中将每个装饰图形元素放置在所述相应的放置区域中包括根据所述方向指导修改放置的所述装饰图形元素的子集的形状,以使得放置的所述装饰图形元素的布置的均匀性被减少。
8.根据权利要求1所述的计算机化的方法,其中将每个装饰图形元素放置在所述相应的放置区域中包括根据所述方向指导修改放置的所述装饰图形元素的子集的形状,以使得放置的所述装饰图形元素的布置的间距被减少。
9.根据权利要求1所述的计算机化的方法,其中将每个装饰图形元素放置在所述相应的放置区域中包括根据所述方向指导修改放置的所述装饰图形元素的子集的形状,以使得放置的所述装饰图形元素的布置的间距中的变化被减少。
10.根据权利要求1所述的计算机化的方法,其中所述特定装饰图形元素基于所述装饰图形元素的周界和所述特定放置区域的周界之间的平方和距离而被匹配到所述特定放置区域。
11.根据权利要求1所述的计算机化的方法,其中:
构造针对所述特定装饰图形元素的所述元素形状描述符包括:
关联脊与所述特定装饰图形元素,
沿着所述脊对点采样,
计算第一组左值,其中所述第一组左值中的每个左值标识所述特定装饰图形元素的左边缘与沿着所述脊的所述点中的相应点之间的相应距离,
计算第一组右值,其中所述第一组右值中的每个右值标识所述特定装饰图形元素的右边缘与沿着所述脊的所述点中的相应点之间的相应距离,
选择所述第一组左值和所述第一组右值作为所述元素形状描述符;并且
构造针对所述特定放置区域的所述区域形状描述符包括:
标识所述特定放置区域的放置区域边界,其中特定流线被所述放置区域边界包围,
计算第二组左值,其中所述第二组左值中的每个左值标识所述放置区域边界的左边缘与所述特定流线之间的相应长度,
计算第二组右值,其中所述第二组右值中的每个右值标识所述放置区域边界的右边缘与所述特定流线之间的相应长度,
选择所述第二组左值和所述第二组右值作为所述区域形状描述符。
12.根据权利要求11所述的计算机化的方法,其中所述放置区域边界基于所述特定流线和划分所述目标容器的Voronoi图而被计算,其中所述放置区域边界的所述左边缘与所述特定流线之间的每个距离针对垂直于所述特定流线的相应左延伸而被计算,其中所述放置区域边界的所述右边缘与所述特定流线之间的每个距离针对垂直于所述特定流线的相应右延伸而被计算。
13.根据权利要求11所述的计算机化的方法,其中将所述特定装饰图形元素匹配到所述特定放置区域包括确定利用所述元素形状描述符对平方和距离的计算小于利用针对其他装饰图形元素的其他元素形状描述符对平方和距离的计算,
其中利用所述元素形状描述符对平方和距离的所述计算包括对以下求和:(1)所述第一组左值和所述第二组左值之间的一组平方差,以及(2)所述第一组右值和所述第二组右值之间的一组平方差。
14.一种计算系统,包括:
处理硬件;以及
一个或者多个存储器设备,被通信地耦合到所述处理硬件并且存储指令,
其中所述处理硬件被配置用于执行所述指令并且由此执行操作,所述操作包括:
在图形编辑应用的界面中显示:(1)目标容器,所述目标容器具有由形成不对称形状的闭合曲线限定的边界,以及(2)装饰图形元素,
经由所述界面接收方向指导,所述方向指导与所述目标容器对应,并且指示所述装饰图形元素的希望的有向流,
在所述目标容器内生成根据所述方向指导的矢量场,
根据多个流线之中的指定间距和最大或者最小希望流线长度,在所述矢量场中生成多个流线,其中第一流线被放置在所述方向指导上,并且第二流线被放置在以下一项或多项上:(1)所述目标容器的所述边界,以及(2)距所述第一流线指定距离处,
基于所述第一流线和所述第二流线来将所述目标容器划分成放置区域,所述放置区域指定针对所述目标容器的所述边界内的所述装饰图形元素的非重叠位置,
将特定装饰图形元素匹配到特定放置区域,其中所述匹配包括:
(1)构造针对所述特定装饰图形元素的元素形状描述符,
(2)构造针对所述特定放置区域的区域形状描述符,以及
(3)基于元素形状描述符相比于针对其他放置区域的其他区域形状描述符与所述区域形状描述符更接近地匹配,来将所述特定装饰图形元素匹配到所述特定放置区域;以及
通过将每个装饰图形元素放置在相应的放置区域中来更新所述界面。
15.根据权利要求14所述的计算系统,其中将所述特定装饰图形元素放置在所述特定放置区域中包括:
关联脊与所述特定装饰图形元素;
在来自所述多个流线的对应流线上放置所述脊;
使所述脊变形以匹配所述对应流线的路径;以及
根据所述脊的所述变形使所述特定装饰图形元素变形。
16.根据权利要求14所述的计算系统,其中将所述特定装饰图形元素放置在所述特定放置区域中包括调整所述特定装饰图形元素的大小,其中具有调整的所述大小的所述特定装饰图形元素在匹配的所述放置区域的边界内完全地相配,并且没有与任何其它放置的装饰图形元素重叠。
17.根据权利要求14所述的计算系统,其中构造所述元素形状描述符包括:
关联脊与所述特定装饰图形元素;
在所述脊上的多个点处测量所述特定装饰图形元素从所述脊延伸的脊距离;以及
将所述脊距离正规化;
其中构造所述区域形状描述符包括:
在与所述特定放置区域相关联的流线上的多个点处测量所述特定放置区域从所述流线延伸的流线距离;以及
将所述流线距离正规化。
18.根据权利要求14所述的计算系统,其中将每个装饰图形元素放置在所述相应的放置区域中包括根据所述方向指导修改放置的所述装饰图形元素的子集的形状,以使得以下一项或多项:
放置的所述装饰图形元素的布置的均匀性被减少,
放置的所述装饰图形元素的间距被减少,以及
放置的所述装饰图形元素的所述间距中的变化被减少。
19.一种非瞬态计算机可读介质,存储可执行程序指令,所述可执行程序指令在由处理硬件执行时,将所述处理硬件配置为执行操作,所述操作包括:
在图形编辑应用的界面中显示:
目标容器,所述目标容器具有由形成不对称形状的闭合曲线限定的边界;
装饰图形元素;
经由所述界面接收方向指导,所述方向指导与所述目标容器对应,并且指示所述装饰图形元素的希望的有向流;
在所述目标容器内生成根据所述方向指导的矢量场;
生成由第一组流线点限定的第一流线,所述第一组流线点被放置在所述方向指导上;
生成由第二组流线点限定的第二流线,所述第二组流线点被放置在以下一项或多项上:(1)所述目标容器的所述边界,以及(2)距所述第一流线指定距离处;
基于所述第一流线和所述第二流线来将所述目标容器划分成放置区域,所述放置区域指定针对所述目标容器的所述边界内的所述装饰图形元素的非重叠位置;
将特定装饰图形元素匹配到特定放置区域,其中所述匹配包括:
构造针对所述特定装饰图形元素的元素形状描述符,
构造针对所述特定放置区域的区域形状描述符,以及
基于元素形状描述符相比于针对其他放置区域的其他区域形状描述符与所述区域形状描述符更接近地匹配,来将所述特定装饰图形元素匹配到所述特定放置区域;以及
通过将每个装饰图形元素放置在相应的放置区域中来更新所述界面。
20.根据权利要求19所述的非瞬态计算机可读介质,
其中构造所述元素形状描述符包括:
关联脊与所述特定装饰图形元素;
在所述脊上的多个点处测量所述特定装饰图形元素从所述脊延伸的脊距离;以及
将所述脊距离正规化;
其中构造所述区域形状描述符包括:
在与所述特定放置区域相关联的流线上的多个点处测量所述特定放置区域从所述流线延伸的流线距离;以及
将所述流线距离正规化。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/589,943 | 2017-05-08 | ||
US15/589,943 US10559061B2 (en) | 2017-05-08 | 2017-05-08 | Computerized generation of ornamental designs by placing instances of simple shapes in accordance with a direction guide |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108876868A CN108876868A (zh) | 2018-11-23 |
CN108876868B true CN108876868B (zh) | 2023-10-27 |
Family
ID=61903460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810184402.XA Active CN108876868B (zh) | 2017-05-08 | 2018-03-07 | 通过根据方向指导放置简单形状的实例来计算机化生成装饰设计 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10559061B2 (zh) |
CN (1) | CN108876868B (zh) |
DE (1) | DE102018001403A1 (zh) |
GB (1) | GB2562353B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461874B2 (en) * | 2020-04-02 | 2022-10-04 | Adobe Inc. | Graphics processing using matrices of transformations |
US11610350B2 (en) | 2021-08-05 | 2023-03-21 | Adobe Inc. | Automatically filling a geometric shape with graphical cells aligned with the geometric shape |
US11651536B2 (en) * | 2021-09-16 | 2023-05-16 | Adobe Inc. | Directional pattern generation for digital images |
US11704848B2 (en) | 2021-10-19 | 2023-07-18 | Adobe Inc. | Systems for generating stroked paths |
CN114708358B (zh) * | 2022-05-25 | 2022-09-02 | 腾讯科技(深圳)有限公司 | 对象处理方法、装置、设备及计算机可读存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521854A (zh) * | 2011-12-29 | 2012-06-27 | 北京理工大学 | 一种适用于二维流场的并行流线放置方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7117822B1 (en) * | 2003-12-10 | 2006-10-10 | Innotek, Inc. | Method and apparatus for communicating a randomized signal |
US7495670B1 (en) | 2005-04-15 | 2009-02-24 | Johnnie Manzari | Shapes comprising repeated graphic elements |
GB201110343D0 (en) | 2011-06-20 | 2011-08-03 | Delcam Plc | Improvements relating to designing and manufacturing an article |
WO2016207875A1 (en) * | 2015-06-22 | 2016-12-29 | Photomyne Ltd. | System and method for detecting objects in an image |
-
2017
- 2017-05-08 US US15/589,943 patent/US10559061B2/en active Active
-
2018
- 2018-02-22 DE DE102018001403.8A patent/DE102018001403A1/de active Pending
- 2018-03-06 GB GB1803574.1A patent/GB2562353B/en active Active
- 2018-03-07 CN CN201810184402.XA patent/CN108876868B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521854A (zh) * | 2011-12-29 | 2012-06-27 | 北京理工大学 | 一种适用于二维流场的并行流线放置方法 |
Non-Patent Citations (1)
Title |
---|
Ron Maharik 等."Digital Micrography".《ACM Transactions on Graphics》.2011, * |
Also Published As
Publication number | Publication date |
---|---|
GB201803574D0 (en) | 2018-04-18 |
GB2562353B (en) | 2020-08-12 |
US10559061B2 (en) | 2020-02-11 |
GB2562353A (en) | 2018-11-14 |
US20180322612A1 (en) | 2018-11-08 |
CN108876868A (zh) | 2018-11-23 |
DE102018001403A1 (de) | 2018-11-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2018201319B2 (en) | Flow-based ornamental element packing | |
CN108876868B (zh) | 通过根据方向指导放置简单形状的实例来计算机化生成装饰设计 | |
Neubert et al. | Approximate image-based tree-modeling using particle flows | |
Schmid et al. | Overcoat: an implicit canvas for 3d painting | |
US7928983B2 (en) | Interactive labyrinth curve generation and applications thereof | |
US9367944B2 (en) | Tree model and forest model generating method and apparatus | |
US8988461B1 (en) | 3D drawing and painting system with a 3D scalar field | |
Chi et al. | Image stylization using anisotropic reaction diffusion | |
Qian et al. | Gourd pyrography art simulating based on non-photorealistic rendering | |
Anastacio et al. | Sketch-based parameterization of L-systems using illustration-inspired construction lines and depth modulation | |
Zhu et al. | High-quality tree structures modelling using local convolution surface approximation | |
Doyle et al. | Automated pebble mosaic stylization of images | |
Saputra et al. | FLOWPAK: Flow-based Ornamental Element Packing. | |
Barla et al. | Gradient art: Creation and vectorization | |
Di Fiore et al. | A multi-level sketching tool for pencil-and-paper animation | |
Zheng et al. | Example-based brushes for coherent stylized renderings | |
Lee et al. | Motion based painterly rendering | |
Liu et al. | Interactive modeling of trees using VR devices | |
Han et al. | Efficient paper mosaic rendering on mobile devices based on position-based tiling | |
Zhang et al. | Procedural modeling of rivers from single image toward natural scene production | |
Feng et al. | An interactive 2d-to-3d cartoon modeling system | |
Zhang et al. | Neural Modelling of Flower Bas‐relief from 2D Line Drawing | |
Yeh et al. | WYSIWYG Design of Hypnotic Line Art | |
Liu et al. | Animating characters in Chinese painting using two-dimensional skeleton-based deformation | |
Jung et al. | GeoMaTree: Geometric and Mathematical model based digital tree authoring system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |