專利名稱:基于示例的元素排列過程化合成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖案合成,更具體地,涉及一種用于從示例合成元素 排列的方法和裝置。
背景技術(shù):
在人工環(huán)境(例如,瓦片、建筑、建筑物外表、裝飾藝術(shù)等) 以及自然環(huán)境(例如,蜂巢、花瓣、沙石物、鵝卵石海灘、云等) 兩者中,普遍存在元素排列。在諸如瓦片、壁紙、陰影線、裝飾藝 術(shù)、紡織品、花瓣、蜂房、動物毛發(fā)以及鱗、波浪、沙丘等的人工 環(huán)境或自然環(huán)境中,均可以觀察到元素的二維(2D)排列。合成元 素排列是用于紋理創(chuàng)建和非真實(shí)感繪制的 一種有用工具。排列圖案 的合成不但用于紋理生成和非真實(shí)感繪制(NPR),而且還在計(jì)算 機(jī)圖形學(xué)(例如,規(guī)則圖案、近似規(guī)則圖案、以及非規(guī)則分布)中 產(chǎn)生了一個(gè)令人感興趣的挑戰(zhàn)。這些排列具有較大變化其中某些 排列總體具有規(guī)則特征或者非規(guī)則特征;其他某些排列在局部不是 規(guī)則的,而是均勻地分布非規(guī)則特征(非規(guī)則均勻性)。為了合成 排列圖案,需要一種用以在全局分布元素之間保持局部空間關(guān)系的 技術(shù)。
紋理合成和過程化建模是用于生成普通紋理圖案的兩類不同技 術(shù)。紋理合成技術(shù)采用示例圖像并生成新的紋理。紋理合成技術(shù)大致可以分為三類頻率域、基于像素以及基于塊(patch-based)的紋 理合成。頻率域技術(shù)通常僅可用于特定紋理類型?;谙袼匾约盎?于塊的技術(shù)可以確保實(shí)現(xiàn)用于更為普通紋理的結(jié)果。然而,難以將 這些技術(shù)直接應(yīng)用于元素排列,這是因?yàn)樵谠嘏帕兄?,?dú)立可察 覺的是每個(gè)元素而不是每個(gè)像素。元素之間的空間關(guān)系比像素之間
的空間關(guān)系更為重要。
過程化建模技術(shù)可將元素作為單元模塊來對待。過程化建模系 統(tǒng)開始于初始特征,并且基于局部生成規(guī)則來逐漸替換和添加模塊。 然而,過程化框架局限于元素具有明確局部結(jié)構(gòu)(諸如,樹)的圖 案。例如,對于非規(guī)則均勻性排列來說,難以定義生長規(guī)則。盡管 某些過程化建模技術(shù)已經(jīng)實(shí)現(xiàn)了令人印象深刻的結(jié)果,然而這些技 術(shù)通常需要用戶編寫腳本來定義局部生長規(guī)則,這對于初學(xué)用戶來 說難以控制結(jié)果生成的模型。
筆畫圖案(stroke pattern )合成
筆畫圖案合成是非真實(shí)感繪制(NPR)領(lǐng)域中的一個(gè)熱點(diǎn)問題。 筆畫圖案合成技術(shù)基于生成規(guī)則來合成筆畫圖案,其中在傳統(tǒng)繪畫 上人工選擇或者觀察所述生成規(guī)則。已經(jīng)開發(fā)出基于示例的系統(tǒng), 這種系統(tǒng)通常關(guān)注于相對簡單的情況,其中所有筆畫以線性順序在 曲線上對準(zhǔn)。在處理規(guī)則或者近似規(guī)則圖案時(shí)、以及當(dāng)合成諸如磚 墻的結(jié)構(gòu)化圖案時(shí),可能難以使用基于筆畫的分析以及合成技術(shù)。
發(fā)明內(nèi)容
描述了用于根據(jù)示例來合成元素排列的方法和裝置的各種實(shí)施
施方式可以不通過如傳統(tǒng)方法中的腳本操作,而是經(jīng)由給出的示例 操作。相對于在處理柵格對準(zhǔn)的像素的紋理合成中使用的方法,實(shí) 施方式的目標(biāo)可以是元素不必對準(zhǔn)的元素排列。由此實(shí)施方式可以 考慮每個(gè)元素的"空間"相鄰部分(neighborhood)特性。實(shí)施方式可以將基于示例(參考排列)與目標(biāo)的局部相鄰部分比較的紋理合 成技術(shù)以及基于局部生長的過程化建模相結(jié)合。
一個(gè)實(shí)施方式可以接收參考排列,該參考排列例如是由用戶指 定或者輸入的示例,并且通過在排列的元素之間構(gòu)造連接性來分析 局部結(jié)構(gòu)。給定參考排列,實(shí)施方式可以構(gòu)造連接性以便獲取每個(gè) 元素的緊密相鄰部分信息。合成處理可以開始于單一種子,并且通 過在新種子的位置處逐個(gè)放置新元素來向外擴(kuò)展正在被合成的圖
案。在一個(gè)實(shí)施方式中,此處理還可以應(yīng)用局部相鄰部分比較可
以從參考排列中選擇參考元素,所述參考元素具有的相鄰部分特征 與已合成圖案的目標(biāo)種子的相鄰部分特征最為近似。
實(shí)施方式可以接收元素的輸入示例性排列(可以將該元素的輸 入示例性排列稱作參考排列),并且生成或者合成近似于參考排列 的新的較大圖案。參考排列可以使用來自預(yù)定符號集的一個(gè)或者多 個(gè)符號。在此集合中的每個(gè)符號具有或者被賦予一個(gè)符號標(biāo)識符(符
號ID)。另外,在參考排列中的每個(gè)符號具有或者被賦予在此稱作 子ID的唯一的標(biāo)識符,在合成處理中可以使用該子ID來區(qū)分具有 相同符號ID的符號。
模式。這些模式可以包括但不限于以下模式中的一種或多種非旋 轉(zhuǎn)模式,其中系統(tǒng)可以在沒有旋轉(zhuǎn)的情況下使用參考元素;旋轉(zhuǎn)模 式,其中系統(tǒng)考慮旋轉(zhuǎn)來搜索最為適配的參考元素,這可以獲得更 好的分布;以及流場(flow field )模式,其中系統(tǒng)旋轉(zhuǎn)參考以將其 局部坐標(biāo)調(diào)整至用戶指定的隱含(underlying)流場方向。
各種實(shí)施方式可以經(jīng)由用戶界面來提供一種或者多種不同類型 的工具,用于控制結(jié)果生成的排列的全局方面。該工具可以包括 繪制工具,例如噴繪工具,該工具可以激活光標(biāo)區(qū)域下的種子。該 工具允許用戶繪制排列圖案。該工具還可以包括流場工具,其允許 用戶通過繪制一組筆畫來設(shè)計(jì)流場。系統(tǒng)可以將輸入筆畫的方向用 于約束,并內(nèi)插2D空間,例如使用輻射基礎(chǔ)功能。該工具還可以包括邊界工具,允許用戶來繪出用以限制或者停止局部生長的 一組邊
界筆畫。
從示例合成元素排列的方法和裝置的實(shí)施方式可以實(shí)現(xiàn)為單獨(dú) 應(yīng)用中的基于示例的過程化圖案合成模塊,或者實(shí)現(xiàn)為圖形應(yīng)用或 者圖形庫的模塊。其中可以實(shí)現(xiàn)實(shí)施方式的圖形應(yīng)用的例子包括但
不局限于繪制、出版、攝影、游戲、動畫和/或其他應(yīng)用。
圖la至圖lc示出了根據(jù)一個(gè)實(shí)施方式的從示例合成圖案; 圖2a至圖2c示出了根據(jù)一個(gè)實(shí)施方式的示例性參考排列中的元 素的示例性符號ID和子ID;
圖3a至圖3e示出了根據(jù)一個(gè)實(shí)施方式的示例性分析和合成階
段;
圖4是根據(jù)一個(gè)實(shí)施方式的用于從示例合成元素排列的方法; 圖5a至圖5h示出了一個(gè)示例性的局部生長過程,其示出了根據(jù)
一個(gè)實(shí)施方式的單一迭代步驟的示例;
圖6a和圖6b示出了根據(jù)一個(gè)實(shí)施方式的針對給定參考排列生成
連接性;
圖7a至圖7c示出了根據(jù)一個(gè)實(shí)施方式的在元素之間的連接性和 參考排列的示例;
圖8a至圖8c示出了根據(jù)一個(gè)實(shí)施方式的在元素之間的連接性和 參考排列的示例;
圖9a至圖9c示出了根據(jù)一個(gè)實(shí)施方式的用戶指導(dǎo)的連接性校
正;
圖10a至圖10c示出了根據(jù)一個(gè)實(shí)施方式的種子算法;
圖lla和圖lib示出了根據(jù)一個(gè)實(shí)施方式的種子合并的示例;
圖12a和圖12b示出了根據(jù)一個(gè)實(shí)施方式的種子合并的示例;
圖13a至圖13c示出了根據(jù)一個(gè)實(shí)施方式的沖突處理;
圖14a至圖14f示出了根據(jù)一個(gè)實(shí)施方式的環(huán)形邊緣生成;圖15a至圖15c示出了根據(jù)一個(gè)實(shí)施方式的匹配圖案的示例; 圖16a至圖16e示出了根據(jù)一個(gè)實(shí)施方式的將元素從一個(gè)參考排
列適配至目標(biāo)種子的過程的各種模式的結(jié)果;
圖17a至17f示出了根據(jù)一個(gè)實(shí)施方式的用以避免不期望結(jié)構(gòu)的
啟發(fā)式方法;
圖18a至圖18c示出了根據(jù)一個(gè)實(shí)施方式的松弛化(relaxation)
處理;
圖19a至圖19f示出了根據(jù)一個(gè)實(shí)施方式的參考排列和構(gòu)造的連 接以及合成的排列或者圖案;
圖20a至圖20c示出了根據(jù)一個(gè)實(shí)施方式的旋轉(zhuǎn)模式的效果; 圖21a至圖21d示出了根據(jù)一個(gè)實(shí)施方式的各種旋轉(zhuǎn)模式的效
果;
圖22a至圖22b示出了根據(jù)一個(gè)實(shí)施方式的使用流場用戶界面工 具創(chuàng)建的示例性結(jié)果;
圖23a至圖23b示出了根據(jù)一個(gè)實(shí)施方式的使用邊界用戶界面工 具創(chuàng)建的示例性結(jié)果;
圖24a至圖24b示出了根據(jù)一個(gè)實(shí)施方式的使用繪制用戶界面工 具(諸如,噴繪工具)創(chuàng)建的示例性結(jié)果;
圖25示出了根據(jù)一個(gè)實(shí)施方式的基于示例的過程化圖案合成模 塊;以及
圖2 6示出了可以在實(shí)施方式中使用的示例性計(jì)算機(jī)系統(tǒng)。 盡管在此借助于多個(gè)實(shí)施方式和所示附圖來描述本發(fā)明,本領(lǐng) 域技術(shù)人員應(yīng)該理解,本發(fā)明并不局限于所述實(shí)施方式或者附圖。 應(yīng)該理解,此處的附圖和詳細(xì)描述并非旨在將本發(fā)明限制于所公開 的特定形式,而是相反,本發(fā)明旨在涵蓋落入所附權(quán)利要求書限定 的本發(fā)明的精神和范圍之中的所有變型、等效方式以及可替換方式。 在此使用的標(biāo)題僅用于組織的目的,而并不意味著限定說明書或者 權(quán)利要求書的范圍。如在本申請中通篇使用的那樣,以允許的形式 (即,意味著具有潛在性)而不是以強(qiáng)制性形式(即,意味著必須)來使用詞語"可以"。類似地,詞語"包括"、"包含"意p未著包括,而不 是限制為"由...構(gòu)成"。
具體實(shí)施例方式
本申請描述了用于從示例來合成元素排列的方法和裝置的各種 實(shí)施方式。例如,實(shí)施方式可以從包括一個(gè)或者多個(gè)類型的多個(gè)元 素的示例圖案來合成元素排列圖案。各種實(shí)施方式可以將基于局部 相鄰部分比較的一種或者多種紋理合成方法與基于局部生長的一個(gè) 或者多個(gè)過程化建模系統(tǒng)結(jié)合使用。經(jīng)由一種易用框架,實(shí)施方式 可以提供計(jì)算機(jī)實(shí)現(xiàn)的元素排列合成系統(tǒng)。實(shí)施方式不是通過傳統(tǒng) 方法中的腳本操作,而是通過給出示例來操作。經(jīng)由一個(gè)或者多個(gè) 工具,實(shí)施方式可以提供可控的合成過程,所述一個(gè)或者多個(gè)工具 包括但不局限于繪制(例如,噴繪)工具、流場工具以及邊界工具。
實(shí)施方式可以將基于示例和目標(biāo)的局部相鄰部分比較的紋理合 成技術(shù)(可以將其稱作參考排列)與基于局部生長的過程化建模相 結(jié)合。實(shí)施方式可以關(guān)注于元素排列,并且可以不合成每個(gè)元素形 狀。在一個(gè)實(shí)施方式中,參考排列的每個(gè)元素具有或者被賦予符號
標(biāo)識符(ID)和子ID,所述符號標(biāo)識符在參考排列中唯一地標(biāo)識元 素的類型,并且所述子ID在參考排列中唯一地標(biāo)識元素。
用于從示例來合成元素排列的方法和裝置的實(shí)施方式可以實(shí)現(xiàn) 為單獨(dú)應(yīng)用中的基于示例的過程化圖案合成模塊,或者實(shí)現(xiàn)為圖形 應(yīng)用或者圖形庫模塊。可以在其中實(shí)現(xiàn)實(shí)施方式的圖形應(yīng)用的例子 包括但不限于繪制、出版、攝影、游戲、動畫和/或其他應(yīng)用。
參考圖la至圖lc, 一個(gè)實(shí)施方式可以接收參考排列(該參考排 列可以由用戶指定或者輸入)并且通過構(gòu)造連接性來分析局部結(jié)構(gòu)。 給定參考排列,實(shí)施方式可以構(gòu)造連接性以便獲取每個(gè)元素(參見 圖la)的緊密相鄰部分信息。合成處理開始于單一的種子,并且通 過逐個(gè)放置新的元素來向外擴(kuò)展正在被合成的圖案。在一個(gè)實(shí)施方 式中,此過程可以應(yīng)用局部相鄰部分比較;可以從參考排列中選4奪具有與先前生成的圖案的目標(biāo)位置最為近似的相鄰部分特征的參考 元素。然后,可以合成具有近似局部結(jié)構(gòu)的較大圖案,如圖lb中所 示,其中示出了幾乎所有元素均勻分布的示例性合成圖案,但兩個(gè) 灰色元素通常呈現(xiàn)為彼此靠近??梢蕴峁┮粋€(gè)或者多個(gè)用戶界面工 具來用于繪制、繪出或者利用排列圖案執(zhí)行其他功能以及用于控制 流場。例如,圖1C示出了可以由一個(gè)實(shí)施方式提供的示例性繪制工 具(諸如,噴繪工具)的示例性結(jié)果。
實(shí)施方式可以接收輸入元素的排列,所述輸入元素的排列可以
參考4列可以使用來自預(yù)^定義符號集:一;或者多個(gè)符號。此集合
中的每個(gè)符號具有符號標(biāo)識符(符號ID)。另外,參考排列中的每
個(gè)符號具有或者被賦予唯一的標(biāo)識符,在此稱作子ID,所述子ID 在合成過程中可以用以區(qū)別具有相同符號ID的符號。圖2a示出了 根據(jù)一個(gè)實(shí)施方式的參考排列。圖2b示出了根據(jù)一個(gè)實(shí)施方式的在 圖2a中的參考排列的元素的符號ID。圖2c示出了根據(jù)一個(gè)實(shí)施方 式的在圖2a中的參考排列的元素的子ID。
在一個(gè)實(shí)施方式中,關(guān)注點(diǎn)在于元素排列,從而可以不合成符 號的形狀。作為替換,此實(shí)施方式可以允許用戶引入隨機(jī)噪聲,以 便修改所合成元素的旋轉(zhuǎn)和標(biāo)度以便獲得更多變化。
各種實(shí)施方式可以在局部生長過程中提供一個(gè)或者多個(gè)不同模 式。這些模式可以包括但不限于以下的一個(gè)或者多個(gè)
非旋轉(zhuǎn)模式,其中系統(tǒng)可以在沒有旋轉(zhuǎn)的情況下使用參考元素。
旋轉(zhuǎn)模式,其中系統(tǒng)考慮參考元素的旋轉(zhuǎn)來搜索最為適配的參 考元素,這可以獲得更好的分布。
流場模式,其中系統(tǒng)旋轉(zhuǎn)參考以將其局部坐標(biāo)調(diào)整至用戶指定 的隱含流場方向。這允許控制合成排列的全局流向。
為了支持創(chuàng)造性設(shè)計(jì)過程,各種實(shí)施方式可以經(jīng)由用戶界面提 供一種或者多種不同類型的工具,用于控制結(jié)果生成排列的全局方面。所述工具可以包括^旦不下于以下一個(gè)或者多個(gè)
繪制工具,例如噴繪工具,該工具可以激活光標(biāo)區(qū)域下的種子。 此工具允許用戶繪制排列圖案。實(shí)施方式足夠迅速以便立刻返回回《貝。
流場工具,允許用戶通過繪出一組筆畫來設(shè)計(jì)流場。系統(tǒng)可以
將輸入筆畫的方向用作約束,并內(nèi)插2D空間,例如使用輻射基礎(chǔ)功能。
邊界工具,允許用戶來繪出用以停止局部生長的一組邊界筆畫。
相對于在處理對準(zhǔn)柵格的像素的紋理合成中使用的方法,實(shí)施 方式的目標(biāo)可以是其中元素不必對準(zhǔn)的元素排列。由此,實(shí)施方式 可以考慮每個(gè)元素的"空間"相鄰部分特征。
圖3a至圖3e示出了根據(jù)一個(gè)實(shí)施方式的示例性分析以及合成階 段。圖3a和圖3b示出了分析階段。在圖3a中,提供了一個(gè)示例或 者參考排列。在圖3b中,構(gòu)造了參考排列中元素的連接。圖3c至 圖3e示出了基于參考排列合成圖案的合成階段。在圖3c中,圓圈 表示種子。指示了用于新元素(候選種子)的候選位置。在圖3d中, 可以找到來自圖3a的參考排列的最為適配的元素。在圖3e中,利 用該元素替換候選種子??梢陨尚路N子。過程迭代地重復(fù),在圖 案中放置單一參考元素,直到將期望的圖案區(qū)域填充完畢。
的流程圖。在步驟200處,可以構(gòu)造參考排列的元素之間的連接性。 例如,參考排列可以是包括多個(gè)元素的用戶指定的圖案,其中具有 一個(gè)或者多個(gè)元素類型。在步驟202處,可以根據(jù)已構(gòu)造的連接性 來分析參考圖案中的每個(gè)元素的相鄰部分信息。在步驟204處,可 以確定已合成圖案中的目標(biāo)種子。例如,用戶可以使用諸如噴繪工 具的工具來在屏幕位置上進(jìn)行點(diǎn)擊以指示開始位置,并且該開始位 置可以用作初始目標(biāo)種子。還可以使用其他方法來確定初始目標(biāo)種 子以及后續(xù)種子。在步驟206處,可以確定用于目標(biāo)種子的相鄰部分特征。初始種子可以不曾具有鄰居,因此,對于初始種子,可以 假定默認(rèn)"相鄰部分",或者可以使用某些其他方法(例如,隨機(jī)放
置)來確定初始種子的相鄰部分特征。在步驟208處,可以在參考 排列中確定參考元素,該參考元素具有的相鄰部分特征與目標(biāo)種子 的相鄰部分特征最為近似。如步驟210處所指示,可以將參考元素 的副本放置在已合成圖案區(qū)域中的目標(biāo)種子的位置處。例如可以使 用參考元素的相鄰部分信息來生成新的種子。在步驟212處,如果 合成圖案沒有結(jié)束,則過程返回至步驟204以確定下一個(gè)目標(biāo)種子。 如果結(jié)束,則合成圖案完成。
圖5a至圖5h示出了示例性局部生長過程,其示出了根據(jù)一個(gè)實(shí) 施方式的單一迭代步驟的示例。在此示例中,白色石頭的符號ID是 A,而灰色石頭的符號ID是B。給定參考排列,在分析階段例如可 以通過將參考排列進(jìn)行三角化來分析鄰近元素之間的局部關(guān)系。合 成過程或者階段開始于放置單一的種子。利用來自參考排列的參考 元素以及多個(gè)新的種子來迭代地替換該種子。在每次迭代中,可以 構(gòu)造用于新元素和種子的連接性,其支持獲取種子的相鄰部分。圖 5a至圖5h示出了單一迭代步驟的示例,以圖形化方式示出了每次迭 代中執(zhí)行的示例性過程的多個(gè)階段。在圖5a中,選擇一個(gè)種子作為 目標(biāo)種子IOO。在圖5b中,檢查所選擇種子100的相鄰部分以構(gòu)造 連接性,如由箭頭所指示。在圖5c中,在參考排列中找到參考元素 102,該參考元素102相對于所選擇的種子IOO具有最為近似的相鄰 部分條件。在圖5d中,利用所找到的參考元素102的副本來替換目 標(biāo)種子100。在圖5e以及圖5f中,過程獲得參考元素102的相鄰元 素的副本。在圖5g中,過程將副本的非適配部分放置為新種子。在 圖5h中,構(gòu)造邊緣。在一個(gè)實(shí)施方式中,在每個(gè)生長過程之后,可 以虧)入全局松弛化處理以獲取平滑的圖案。
圖6a和6b示出了根據(jù)一個(gè)實(shí)施方式的在分析階段中針對給定示 例或者參考排列(圖6a)的連接性生成(圖6b)。在一個(gè)實(shí)施方式 中,為了構(gòu)造連^^妾性,可以使用Ddaunay三角化。在一個(gè)實(shí)施方式中,可以去除斜三角形(例如,包4舌大于例如150度的特定閾^f直的 角度的任何三角形)。在一個(gè)實(shí)施方式中,可以僅使用非邊界元素。 在一個(gè)實(shí)施方式中,可以允許用戶經(jīng)由一個(gè)或者多個(gè)所提供的用戶 界面元素或者控制來修改連接性。實(shí)施方式可以計(jì)算最長的以及最 短的邊緣長度。在一個(gè)實(shí)施方式中,可以假設(shè)高斯分布。
在一個(gè)實(shí)施方式中,給定輸入?yún)⒖寂帕谢蛘咴?,可以使用諸
如Delaunary三角化的數(shù)學(xué)三角化技術(shù)來提取連接性。在一個(gè)實(shí)施方 式中,在三角化中可以4吏用每個(gè)元素的中心位置。Delaunay三角化 可以生成圍繞邊界的斜三角形;由此, 一個(gè)實(shí)施方式可以去除斜三 角形,例如去除具有大于2/3 *兀的角度的三角形,并且可以僅保留 作為至少一個(gè)非斜三角形的部分的邊緣。然后可以注冊每個(gè)元素的 緊密相鄰部分的符號ID、子ID以及相對位置。在一個(gè)實(shí)施方式中, 不可以使用環(huán)繞參考排列邊界的元素,這是由于這些元素不具有足 夠的相鄰部分元素。
當(dāng)輸入規(guī)則或者近似規(guī)則排列時(shí),諸如Delaunay三角化的三角 化技術(shù)可能生成不期望的連接。圖7a至圖7c以及圖8a至圖8c示出 了根據(jù) 一 個(gè)實(shí)施方式的元素之間的連接性和參考排列的某些示例。 在圖7b中,若干生成的邊連接圖7a中輸入的排列中超過一行的塊。 在圖8a中,輸入近似規(guī)則排列;然而,在圖8b中,生成的邊緣不 具有規(guī)則性。在此描述的合成算法可以受到每個(gè)元素的局部連接性 影響,并且由此,這些連接可以打破規(guī)則圖案。由此, 一個(gè)實(shí)施方 式可以允許用戶來在三角化之后校正連接。例如,在一個(gè)實(shí)施方式
戶界面方法進(jìn)行點(diǎn)擊來翻轉(zhuǎn)(flip)邊緣。這可以允許用戶獲取期望 的連接性。由此,在一個(gè)實(shí)施方式中,系統(tǒng)可以自動生成連接性, 如圖7b和圖8b中所示,用于如圖7a和圖8a中所示的參考排列, 以及用戶可以使用由實(shí)施方式提供的一個(gè)或者多個(gè)工具來修改拓 樸,以便重構(gòu)基礎(chǔ)規(guī)則性,如圖7c和8c中所示。
圖9a至圖9c示出了根據(jù)一個(gè)實(shí)施方式的用戶指導(dǎo)的連接性校正。圖9a示出了示例性初始參考排列。圖9b示出了示例性系統(tǒng)生 成的連接性。圖9c示出了由用戶校正的示例性連接性。
通過局部生長合成
一個(gè)實(shí)施方式可以開始于圖案中心處的元素,并且基于先前所 合成的元素的相鄰部分比較,通過逐個(gè)放置新元素來將其向外擴(kuò)展。 然而,不能總是期望目標(biāo)元素排列具有如柵格上的像素那樣的規(guī)則 結(jié)構(gòu)。用于放置新元素及其相鄰部分的位置可能不清楚。此外,獨(dú) 立元素的尺寸和朝向可以不同。這是傳統(tǒng)紋理合成技術(shù)和在此描述 的方法之間的主要差異。
在一個(gè)實(shí)施方式中,為了解決此問題,可以使用基于示例的過 程化方法,其中該過程化方法基于參考排列中的元素的連接性來定 義種子的局部生長。在每個(gè)生長步驟中,除了利用最佳適配參考元 素來替換種子以外,可以通過復(fù)制所選擇的參考元素的緊密相鄰部 分來放置新的種子。
種子算法
種子是新元素的候選位置。可選地,種子具有與其相關(guān)聯(lián)的符 號ID。符號ID可以用以使得種子成為特定元素類型,但是其可以是 來自參考排列的相同符號ID (相同元素類型)的任何元素。
在一個(gè)實(shí)施方式中,可以從放置單一的種子開始合成過程。在 一個(gè)實(shí)施方式中,可以利用與初始種子的距離來將種子排序,并且 在每個(gè)生長步驟中,可以選擇最靠近的種子。例如,在噴繪工具模 式中,當(dāng)用戶開始繪制時(shí),可以在光標(biāo)位置處生成新的種子,并且 在繪制期間,噴繪工具可以生長與光標(biāo)具有用戶指定或者指示距離
內(nèi)的所有種子。
圖10a至圖10c示出了根據(jù)一個(gè)實(shí)施方式的種子算法。每個(gè)種子 具有符號ID。在圖10a中,從參考排列找到最佳適配元素。在圖10b 中,放置新種子。在一個(gè)實(shí)施方式中,將非匹配的相鄰部分放置為新的種子。在圖IOC中,添加環(huán)形邊緣。可以^1行+>弛化處理。在 下文將進(jìn)一步描述松弛化處理。
可以存在某些排列圖案,其中的元素具有不同重要性。例如, 排列圖案可以首先放置較大元素,并且之后利用較小元素填充空間。
一個(gè)實(shí)施方式可以基于元素的符號ID,通過指定將要被放置在種子 處的元素的優(yōu)先級來提供這種效果。 一個(gè)實(shí)施方式可以僅生長滿足 如下條件的種子,該種子在其相鄰區(qū)域中具有最高或者相同的優(yōu)先 級。例如, 一個(gè)實(shí)施方式可以將相鄰區(qū)域定義為直徑為5*/的圓,其 中/是參考中的平均邊緣長度。例如,在圖lb中,對較大的灰色石 頭和白色石頭指定較高優(yōu)先級,而對小的石頭指定較低優(yōu)先級,并 且僅將小的石頭用作填充物。
圖lla和圖llb以及圖12a和圖12b示出了根據(jù)一個(gè)實(shí)施方式的 種子合并的兩個(gè)示例。在圖lla和圖12a中,4企查新種子的相鄰區(qū) 域以便查看在種子的指定距離內(nèi)是否存在元素或者種子。如果靠近 新的種子存在元素或者種子,則新種子和接近的種子或者元素可以 合并,如圖lib和圖12b中所示。
圖13a至圖13c示出了根據(jù)一個(gè)實(shí)施方式的沖突處理。在圖13a 中,檢查新種子的相鄰區(qū)域以查看是否存在沖突。圖13b示出了所 檢測的沖突。在圖13c中,已經(jīng)刪除了新種子。
圖14a至圖14f示出了根據(jù)一個(gè)實(shí)施方式的環(huán)形邊緣生成。在圖 Ma和圖Hb中,生成一個(gè)環(huán)形邊緣。在圖14c中,4企查新邊緣的長 度。如果該長度大于參考排列中的最長邊緣長度,則可以添加額外 的種子,如圖14d中所示。在圖14e中才企查沖突。如果檢測到?jīng)_突, 則不生成邊緣,如圖14f中所示。
查找最佳匹配元素
圖15a至圖15c示出了根據(jù)一個(gè)實(shí)施方式的匹配圖案的示例。系 統(tǒng)構(gòu)造了圖15b中的參考元素112以及圖15a中的目標(biāo)種子110的 鄰居之間的匹配圖案集。在圖15c中,定義對應(yīng)關(guān)系。參考圖15a至圖15c,令e^(目標(biāo)種子110)作為已合成圖案中 的關(guān)注種子,并且令w 作為其緊密相鄰部分元素的集合。類
似地,/〃(參考元素112)以及w 是用于參考元素的注釋 (notation)。可以基于w ( e敝)和w (/e/)之間的差異來定義誤差 函數(shù),并且可以檢查所有參考元素來查找將誤差函數(shù)最小化的一個(gè)
min 五朋,w(y", MX") (1)
注意,如果目標(biāo)種子具有符號ID,可以僅檢查相應(yīng)的參考元素 (具有相同符號ID的參考元素)。
用于元素排列的相鄰部分比較比用于紋理合成的更為復(fù)雜,這 是因?yàn)橄噜徳氐臄?shù)量和位置可以根據(jù)分布而變化。在一個(gè)實(shí)施方 式中,可以分兩個(gè)步驟計(jì)算差異。首先,可以構(gòu)造匹配/,該匹配/' 將目標(biāo)相鄰部分的每個(gè)元素與參考相鄰部分的元素相匹配。存在多 個(gè)候選匹配圖案,從而需要構(gòu)造匹配圖案的集合F。其次,可以計(jì)算 所有相關(guān)配對的差異,并且針對滿足/GF條件的每個(gè)/來計(jì)算總和。
在一個(gè)實(shí)施方式中,為了建立匹配圖案的集合F,可以僅考慮其 中不具有跳躍(skip)和翻轉(zhuǎn)的情況。首先,可以以逆時(shí)針順序來排 序元素e,Gw (ZO和e/"Gw (/e/)。對于目標(biāo)鄰居, 一個(gè)實(shí)施 方式可以開始于位于邊界上的元素(參見圖15a)。 一個(gè)實(shí)施方式可 以選擇e。加和^""作為初始配對,并且以增量方式匹配后續(xù)元素e, 和<£/,來獲取一個(gè)對應(yīng)關(guān)系/o。以類似方式, 一個(gè)實(shí)施方式可以通 過選擇&*和e/"作為初始配對來獲取/4。在圖15a至圖15c給定的 示例中,獲取了 6個(gè)匹配圖案。
一個(gè)實(shí)施方式可以假定w (e旨)的大小等于或者小于w 的大小,并且目標(biāo)種子位于邊界之上,這是由于目標(biāo)種子正在生長 并且其相鄰元素的數(shù)量相對較小。然而,可能偶然出現(xiàn)例外情況。 例如,由于優(yōu)先級差異或者噴繪工具的使用,可能已經(jīng)放置了種子 的所有相鄰元素。當(dāng)種子沒有位于邊界上時(shí), 一個(gè)實(shí)施方式可以從 任意元素將該排序進(jìn)行排序,并且當(dāng)w 的大小大于w (/e/)
時(shí),簡單地忽略此類參考元素。一旦獲取匹配圖案的集合,則一個(gè)實(shí)施方式可以將針對滿足
/EF條件的每個(gè)/的誤差函數(shù)定義如下
<formula>formula see original document page 21</formula>
/勺是e^和/"的相對位置之間的歐幾里德距離。如
果的符號ID不同于/"的符號ID,則W (/e/)返回1,否
則返回0。這兩項(xiàng)測量局部空間關(guān)系。在一個(gè)實(shí)施方式中,可以使用
來避免遞歸地一次次出現(xiàn)相同元素。如果^'和,7
的子ID相同,則此函數(shù)返回1,否則返回0。在一個(gè)實(shí)施方式中,
如果權(quán)重W3較大(高于指定閾值),則可以在結(jié)果生成圖案中較好
地保持參考排列的結(jié)構(gòu)。 一 個(gè)實(shí)施方式可以定義誤差函數(shù) E朋(^0(e^), w(ere/》=min e證O(,),)) (3)
旋轉(zhuǎn)模式
各種實(shí)施方式可以提供一個(gè)或者多個(gè)模式以生成用于不同目的 的不同結(jié)果。可以提供非旋轉(zhuǎn)模式,該非旋轉(zhuǎn)模式可以用于生成保 持參考相鄰部分的朝向的圖案??梢蕴峁┬D(zhuǎn)模式,該旋轉(zhuǎn)模式改 變參考元素相鄰部分的朝向,以使其適應(yīng)局部目標(biāo)相鄰部分的朝向, 從而得到較好的分布??梢蕴峁┝鲌瞿J?,該流場模式生成遵循用 戶指定的流場的圖案,例如,由用戶通過應(yīng)用在此描述的流場工具 而指定。通過對查找最佳匹配元素的過程進(jìn)行修改,實(shí)施方式可以
實(shí)現(xiàn)這些效果,如圖16a至圖16e中的示例所示出。系統(tǒng)將示例性 參考元素(如圖16a中所示)適配于示例性目標(biāo)種子(如圖16b中 所示),這根據(jù)所選擇的模式而有所不同。圖16c示出了非旋轉(zhuǎn)模 式的示例性結(jié)果。圖16d示出了旋轉(zhuǎn)模式的示例性結(jié)果。圖16e示 出了流場模式的示例性結(jié)果。
在非旋轉(zhuǎn)模式中,可以查找最佳適配元素而不必旋轉(zhuǎn)參考圖案 (參考元素及其相鄰部分);如此求解誤差函數(shù)(1)。在旋轉(zhuǎn)模式 中,當(dāng)計(jì)算誤差函數(shù)(2)時(shí),可以考慮最佳適配旋轉(zhuǎn)。在一個(gè)實(shí)施 方式中,可以通過將參考元素旋轉(zhuǎn)角度^來將位置差異最小化m^iZ,K)) (4)
其中& (<e/)旋轉(zhuǎn)e/"的相對位置。在一個(gè)實(shí)施方式中,可以應(yīng)用 各種形狀匹配方法中的一種。
在流場模式中,當(dāng)查找最佳匹配時(shí),可以考慮用戶指定的流場。 可以獲取在目標(biāo)種子位置處的流場的朝向。然后,可以旋轉(zhuǎn)整個(gè)參 考圖案來將其局部X坐標(biāo)調(diào)整至該朝向,以便由此獲得礦Ow和 w(,/7 。"')。當(dāng)查找最佳匹配時(shí),可以使用已旋轉(zhuǎn)的參考。
局部生長
使用上述處理的實(shí)施方式,可以找到最佳適配參考元素,以及 可選地,可以找到旋轉(zhuǎn)模式中的最佳適配旋轉(zhuǎn)或者流場模式中的流 場旋轉(zhuǎn)。通過使用最佳適配元素及其相鄰點(diǎn)或者元素, 一個(gè)實(shí)施方 式可以局部地生長目標(biāo)種子,這形成了稱作環(huán)形形狀的形式。注意,
如果這些旋轉(zhuǎn)之一可用,則可以在下文描述的過程之前,將一種旋 轉(zhuǎn)應(yīng)用于參考元素及其環(huán)形形狀。
再次參考圖5a至圖5h,在一個(gè)實(shí)施方式中,系統(tǒng)首先利用所找 到的參考元素102 (例如參見圖5c和圖5d)來替換目標(biāo)種子100。 系統(tǒng)復(fù)制符號ID以及子ID。系統(tǒng)接下來通過使用所找到的元素102 的相鄰元素來放置新的種子;這些相鄰元素形成了在此稱作環(huán)形形 狀的形式。系統(tǒng)利用目標(biāo)種子相鄰部分(例如參見圖5f)來覆蓋參 考環(huán)形形狀的副本,并且然后刪除當(dāng)計(jì)算誤差函數(shù)時(shí)與目標(biāo)相鄰元 素配對的每個(gè)相鄰元素。其余的元素將形成具有相應(yīng)符號ID (例如 參見圖5g)的新種子。最后,構(gòu)造邊緣來連接新的種子(例如參見 圖5h)。
在局部生長處理期間,為了避免過于稠密或者過于稀疏的分布 和/或邊緣沖突,實(shí)施方式可以實(shí)現(xiàn)一個(gè)或者多個(gè)啟發(fā)式方法。圖17a 至圖17f示出了根據(jù)一個(gè)實(shí)施方式的啟發(fā)式方法,可以使用該啟發(fā)式 方法來避免不期望的結(jié)構(gòu)。在獲取新的種子之后, 一個(gè)實(shí)施方式可 以檢查每個(gè)新種子的相鄰區(qū)域。如果在與種子相距閾值"。"距離之內(nèi)找到了現(xiàn)存的元素或者種子,則刪除該種子,并且將邊緣連接至 所找到的對象。
一 個(gè)實(shí)施方式可以使用參考中的最短邊緣長度的一
一個(gè)實(shí)施方式可以檢查新邊緣之間的角度;如果角度小于0.5 *
original—angle (原始角度),則刪除新種子和邊緣(參見圖17c)。
"原始角度,,是在所選擇參考環(huán)形形狀中的邊緣之間的相應(yīng)角度(參 見圖17a)。 一個(gè)實(shí)施方式可以檢查新種子邊緣的沖突;如果檢測到, 則去除種子和邊緣(參見圖17d)。當(dāng)環(huán)繞新的種子構(gòu)造新的邊緣時(shí), 一個(gè)實(shí)施方式可以檢查每個(gè)邊緣的長度。如果邊緣比閾值產(chǎn)"g更長, 則一個(gè)實(shí)施方式可以生成不具有相應(yīng)符號ID的額外的種子(參見圖 17e)。 一個(gè)實(shí)施方式可以在線段的末端放置種子,該線段將相應(yīng)的 角度對分并且長度是兩個(gè)鄰接邊緣的平均值(參見圖17e)。在一個(gè) 實(shí)施方式中,可以將產(chǎn)^定義為1.5* (原始角度),其中"原始角 度"是在重疊參考環(huán)形形狀中的相應(yīng)邊緣的長度(參見圖17a)。其 他實(shí)施方式可以使用其他方法來計(jì)算閾值產(chǎn)"g。然后,系統(tǒng)可以再次 檢查沖突的邊緣。如果檢測到?jīng)_突,則一個(gè)或者多個(gè)對象肯定在由 sO和sl構(gòu)成的三角中,從而該實(shí)施方式可以構(gòu)造邊緣(參見圖 17f)。
松弛化處理
實(shí)施方式可以利用其鄰居來替換參考元素,其中所述鄰居具有 與目標(biāo)鄰居最為近似的形狀。然而,誤差可以在每個(gè)局部生長處理 中積累,這是因?yàn)橄到y(tǒng)不能每次都找到使得誤差值為零的"恰好適 配"的元素。 一個(gè)實(shí)施方式可以纟是供松弛化處理,該松弛化處理修改 先前合成的元素的位置以便保持已合成圖案的局部特征盡可能近似 于參考的局部特征。在一個(gè)實(shí)施方式中,對于每個(gè)已合成元素,系 統(tǒng)可以將每個(gè)已合成元素的環(huán)形形狀調(diào)整至相應(yīng)參考元素的環(huán)形形 狀。注意,每個(gè)已合成元素可以具有在局部生長處理中匹配的相應(yīng) 的參考元素。圖18a至圖18c示出了根據(jù)一個(gè)實(shí)施方式的松弛化處理。將每個(gè) 頂點(diǎn)的緊密相鄰部分形狀(圖18a)適配于其期望的形狀(圖18b)。 將每個(gè)頂點(diǎn)及其期望位置之間的縫隙最小化(圖18c)。
參考圖18a至圖18c,令x,作為已合成元素e,,的位置,并且令 w, (a)作為其鄰近位置集??梢詫⑾鄳?yīng)參考環(huán)形形狀的相對位置稱 作其中r;對應(yīng)于^Gw (x,O (參見圖18a以及圖18b)。 一個(gè)
實(shí)施方式可以將每個(gè)鄰居的位置~和相應(yīng)的參考環(huán)形的位置之間的 距離最小化(參見圖18c):
,S力卜廣"+。')| 。)
由于jt匕表示是平移不變(translation invariant)的, 一個(gè)實(shí)施方 式可以預(yù)定一個(gè)元素的位置,以便具有唯一的最小化(minimizer)。 在一個(gè)實(shí)施方式中,可以將初始元素保持在初始位置處。如果存在 用戶指定的邊界, 一個(gè)實(shí)施方式可以將元素約束在其所生成的位置處。
& = fc e CCWSm4/ATO (6) 可以解決這種具有線性約束的二次型極小化問題,例如以閉合 形式。 一個(gè)實(shí)施方式可以應(yīng)用拍:才各朗日乘數(shù)方法。其他實(shí)施方式可 以使用其他方法。注意,可以存在這樣的元素,該元素在生長期間 失去了邊緣或者獲得了額外的邊緣。這些元素具有的拓樸不再與相 應(yīng)參考元素相同。另外,并非所有種子均具有相應(yīng)的參考元素。對 于這些對象, 一個(gè)實(shí)施方式可以^^用其當(dāng)前鄰近形狀作為目標(biāo)環(huán)形
圖19a至圖19f示出了根據(jù)一個(gè)實(shí)施方式的參考排列和已構(gòu)造的 連接以及已合成排列或者圖案。圖19a至圖19f示出了具有三個(gè)不同 類型的參考排列的已合成圖案;規(guī)則圖案(圖19a)、近似規(guī)則圖案
(圖19c)以及非規(guī)則均勻分布(圖19f)。圖19a示出了一個(gè)規(guī)則 參考排列,在該規(guī)則參考排列中設(shè)置了兩種不同的三角形陰影
(shade)以及兩種不同的矩形陰影,以及圖19b示出了來自圖19a 的參考排列的已合成圖案。圖19c示出了近似規(guī)則參考排列,在該近似規(guī)則參考排列中設(shè)置了長的和短的塊,以及圖19d示出了來自 圖19C的參考排列的已合成圖案。每個(gè)符號的標(biāo)度旋轉(zhuǎn)和顏色引入
了少量隨機(jī)性。圖19e示出了具有非規(guī)則均勻性分布的參考排列。 圖19f示出了來自圖19e的參考排列的已合成圖案。表示水滴的草圖 筆畫以非規(guī)則分布設(shè)置。由于系統(tǒng)嘗試保持鄰居之間的拓樸以及局 部空間關(guān)系,在相同框架中可以覆蓋這三個(gè)種類。
圖20a至圖20c以及圖21a至圖21d示出了根據(jù)一個(gè)實(shí)施方式的 旋轉(zhuǎn)模式的效果。系統(tǒng)接收圖20a中所示的相同的參考排列,并且 在非旋轉(zhuǎn)模式(圖20b)和旋轉(zhuǎn)模式(圖20c)中生成不同結(jié)果。在 這些示例中,可以對灰色石頭賦予較高優(yōu)先級。在兩種情況下,兩 個(gè)灰色石頭呈現(xiàn)彼此靠近。盡管在非旋轉(zhuǎn)模式中保持每兩個(gè)石頭的 朝向,其在旋轉(zhuǎn)模式中局部旋轉(zhuǎn)。圖21a至圖21d示出了根據(jù)一個(gè) 實(shí)施方式的流場模式。用戶還可以通過指定隱含流場來控制排列圖 案。在流場模式中,系統(tǒng)接收用戶指定的參考(圖21a)以及流場(圖 21b),并且沿流場來合成圖案(圖21c)。在一個(gè)實(shí)施方式中,當(dāng) 用戶通過使用流場工具繪出筆畫(圖21b中的曲線)時(shí),系統(tǒng)沿筆 畫生成流場,如圖21b中所示。然后,系統(tǒng)接收圖21a中的參考排 列以及流場,并且合成新的圖案,如圖21c中所示,其中沿流場對 準(zhǔn)標(biāo)度。在一個(gè)實(shí)施方式中,系統(tǒng)可以改變拓樸以保持均勻分布。 圖21c中的源將局部拓樸改變的位置進(jìn)行高亮顯示。圖21d示出了 結(jié)果生成的連接性。
用戶界面
為了提供直觀的合成處理以及支持創(chuàng)造性設(shè)計(jì)處理,實(shí)施方式 可以經(jīng)由用戶界面提供一個(gè)或者多個(gè)類型的交互工具,以響應(yīng)于用 戶輸入/控制來控制結(jié)果生成的圖案的全局特征。該工具可以包括但 不限于以下的一個(gè)或者多個(gè)
繪制工具,例如噴繪工具,其激活光標(biāo)區(qū)域之下的種子。此工 具允許用戶繪制排列圖案。實(shí)施方式足夠迅速以便立刻返回回饋。在此借助于示例方式而指出"噴繪工具",而并不期望將"噴繪工具" 局限于其中;在實(shí)施方式中還可以提供諸如畫刷或者桶工具的其他 類型的繪制工具,其激活光標(biāo)或者由用戶控制的其他用戶界面元素 之下的種子、或者執(zhí)行類似的"繪制工具"功能。
流場工具,允許用戶通過繪出一組筆畫來設(shè)計(jì)流場。系統(tǒng)可以 將輸入筆畫的方向用作約束,并內(nèi)插2D空間,例如使用輻射基礎(chǔ)功 能。
.邊界工具,允許用戶來繪出用于停止局部生長的一組邊界筆畫。
圖22a至圖22b、圖23a至圖23b、以及圖24a至圖24b示出了 根據(jù)實(shí)施方式的使用各種用戶界面工具創(chuàng)建的示例性結(jié)果。 一個(gè)實(shí) 施方式可以提供用于指定和隱含流場的流場工具,在圖22b中示出 其結(jié)果。流場工具允許用戶通過繪制一組筆畫來設(shè)計(jì)流場。系統(tǒng)使 用輸入筆畫的方向作為約束并且內(nèi)插2D空間。在圖22b中,使用流 場工具控制從圖22a中示出的參考排列合成的特征的朝向,以及使 用噴繪工具來控制生長區(qū)域。在圖22b中,具有箭頭的線段表示用 戶輸入指定期望的流場。
所示。邊界工具允許用戶繪出停止局部生長的邊界筆畫集。在圖23b 中,來自圖23a中所示的參考排列的合成的塊的生長區(qū)域受到邊界 工具的限制。圖23b中所示的實(shí)線表示指定期望邊界的用戶輸入。
一個(gè)實(shí)施方式可以提供例如噴繪工具的繪制工具,用于指定生 長區(qū)域,其結(jié)果如圖24b中所示。在一個(gè)實(shí)施方式中,噴繪工具激 活光標(biāo)區(qū)域之下的種子。此工具允許用戶通過排列圖案進(jìn)行繪制。 噴繪工具的實(shí)施方式可以立刻返回回々赍。在圖24b中,例如4吏用噴 繪工具繪出了 4個(gè)字符"Euro",其具有由圖24a中所示的參考或者排 列圖案合成的鱗狀物。使用流場工具指定隱含流場,并且使用噴繪 工具指定生長區(qū)域。
在圖22b和圖24b中所示的示例中,實(shí)施方式設(shè)置具有圓角形狀并且輕微傾斜的三維(3D)對象,從而使結(jié)果自然地表達(dá)了重疊 的效果。難以由基于2D矢量的方法創(chuàng)建在這些示例性圖示中示出的 效果,這是因?yàn)樵撔Ч枰鞔_地指定元素的渲染順序。某些實(shí)施 方式可以在合成處理中對分布的全局形狀提供優(yōu)化,這種優(yōu)化例如 可以幫助避免在集中于局部區(qū)域中的誤差,并且有助于獲得平滑的 結(jié)果。實(shí)施方式還可以提供一種能力,以便在獲得排列之后修改每 個(gè)元素的大小或者局部朝向。這種類型的控制難以由基于像素的紋 理合成實(shí)現(xiàn)。
圖25示出了根據(jù)一個(gè)實(shí)施方式的基于示例的過程化圖案合成模 塊。在實(shí)施方式中,在此描述了用于從示例合成元素排列的方法和 裝置,所述方法和裝置可以實(shí)現(xiàn)為圖25中示出的模塊300或者在該 模塊300中實(shí)現(xiàn)。基于示例的過程化圖案合成模塊300可以通過獨(dú) 立應(yīng)用實(shí)現(xiàn),或者可以作為提供其他圖形工具的圖形庫或者圖形應(yīng) 用的模塊來實(shí)現(xiàn)。模塊300的實(shí)施方式的圖形應(yīng)用的例子可以包括 但不局限于繪制、出版、攝影、游戲、動畫和/或其他應(yīng)用。模塊 300還可以用于顯示、渲染、生成和/或存儲圖像、視頻和/或其他圖 形輸出。
模塊300可以提供包括一個(gè)或者多個(gè)工具的用戶界面302,所述 工具諸如邊界工具304、流場工具306以及繪制工具308。模塊300 可以獲取一個(gè)或者多個(gè)圖案310 (參考排列),以及根據(jù)經(jīng)由用戶界 面302接收的用戶輸入312,在一個(gè)或者多個(gè)數(shù)字圖像320中從圖案 310生成一個(gè)或者多個(gè)元素排列322。如在此所述,在從輸入圖案310 生成元素排列322中,模塊300可以將基于示例(稱作參考排列)
程化建模。
施方式。實(shí)施方式可以將基于示例(參考排列)和目標(biāo)的局部相鄰 在基于示例的過程化方法和裝置中,用戶不必通過編寫難懂的腳本來定義規(guī)則,以便合成元素排列。實(shí)施方式可以」提供可控的合成框 架,用于利用經(jīng)由用戶界面的用戶控制來從示例合成元素排列。用 戶可以經(jīng)由 一 個(gè)或者多個(gè)工具來迭代地以及動態(tài)地控制合成處理, 通過到處理的用戶界面來激活所述工具。
示例性系統(tǒng)
可以在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn)用于從示例合成元素排 列的方法和裝置的實(shí)施方式的各種組件,所述一個(gè)或者多個(gè)計(jì)算機(jī)
系統(tǒng)可以與各種其他設(shè)備交互。圖26示出了一個(gè)此類計(jì)算機(jī)系統(tǒng)。 在示出的實(shí)施方式中,計(jì)算機(jī)系統(tǒng)700包括一個(gè)或者多個(gè)處理器 710,所述處理器710經(jīng)由輸入/輸出(I/O)接口 730耦合至系統(tǒng)存 儲器720。計(jì)算機(jī)系統(tǒng)700進(jìn)一步包括耦合至I/0接口 730的網(wǎng)絡(luò) 接口 740以及一個(gè)或者多個(gè)輸入/輸出設(shè)備750,該輸入/輸出設(shè)備750 諸如光標(biāo)控制設(shè)備760、鍵盤770、音頻設(shè)備790、以及顯示器780。 在某些實(shí)施方式中,期望可以使用計(jì)算機(jī)系統(tǒng)700的單一實(shí)例來實(shí) 現(xiàn)實(shí)施方式,然而在其他實(shí)施方式中,可以配置多個(gè)此類系統(tǒng)或者 構(gòu)成計(jì)算機(jī)系統(tǒng)700的多個(gè)節(jié)點(diǎn)以主管實(shí)施方式的不同部分或者實(shí) 例。例如,在一個(gè)實(shí)施方式中,可以經(jīng)由計(jì)算才幾系統(tǒng)700的一個(gè)或 者多個(gè)節(jié)點(diǎn)來實(shí)現(xiàn)某些元素,所述一個(gè)或者多個(gè)節(jié)點(diǎn)不同于實(shí)現(xiàn)其 他元素的那些節(jié)點(diǎn)。
在各種實(shí)施方式中,計(jì)算機(jī)系統(tǒng)700可以是包括一個(gè)處理器710 的單處理器系統(tǒng),或者可以是包括多個(gè)處理器710 (例如,兩個(gè)、四 個(gè)、八個(gè)、或者其他適合數(shù)目)的多處理器系統(tǒng)。處理器710可以 是能夠執(zhí)行指令的任意適合的處理器。例如,在各種實(shí)施方式中, 處理器710可以是通用或者嵌入處理器,該處理器實(shí)現(xiàn)多種指令集 架構(gòu)(ISA )中的任一項(xiàng),諸如x86、 PowerPC、 SPARC或者M(jìn)IPS ISA 或者任何其他合適的ISA。在多處理器系統(tǒng)中,每個(gè)處理器710可以 共同實(shí)現(xiàn)相同的ISA,但這不是必須的。
系統(tǒng)存儲器720可以配置以存儲由處理器710可訪問的數(shù)據(jù)和/或程序指令。在各種實(shí)施方式中,可以使用各種適合的存儲器技術(shù)
來實(shí)現(xiàn)系統(tǒng)存儲器720,諸如靜態(tài)隨機(jī)訪問存儲器(SRAM)、同步 動態(tài)RAM (SDRAM)、非易失性/閃存類型存儲器、或者任何其他 類型的存儲器。在示出的實(shí)施方式中,將實(shí)現(xiàn)期望功能(諸如,上 文所述的用于從示例合成元素排列的方法和裝置的功能)的程序指 令和數(shù)據(jù)分別作為程序指令725以及數(shù)據(jù)存儲735來存儲在系統(tǒng)存 儲器720內(nèi)部。在其他實(shí)施方式中,可以接收、發(fā)送程序指令和/或 數(shù)據(jù),或者將其存儲在不同類型的計(jì)算機(jī)可訪問介質(zhì)、或者獨(dú)立于 系統(tǒng)存儲器720的類似介質(zhì)、或者計(jì)算機(jī)系統(tǒng)700之上。 一般而言, 計(jì)算機(jī)可訪問介質(zhì)可以包括諸如磁性或者光性介質(zhì)的存儲介質(zhì)或者 存儲器介質(zhì),例如經(jīng)由1/0接口 730耦合至計(jì)算機(jī)系統(tǒng)700的盤或者 CD/DVD-ROM 。經(jīng)由計(jì)算機(jī)可訪問介質(zhì)存儲的程序指令和數(shù)據(jù)可以 通過傳輸介質(zhì)或者信號(諸如,電信號、電磁信號或者數(shù)字信號) 來傳送,這些信號可以經(jīng)由諸如網(wǎng)絡(luò)和/或無線鏈接的通信介質(zhì)來傳 送,諸如可以經(jīng)由網(wǎng)絡(luò)接口 740來實(shí)現(xiàn)。
在一個(gè)實(shí)施方式中,1/0接口 730可以配置以協(xié)調(diào)在處理器710、 系統(tǒng)存儲器720以及設(shè)備中的任何外圍設(shè)備之間的I/O流量,所述外 圍設(shè)備包括網(wǎng)絡(luò)接口 740或者諸如輸入/輸出設(shè)備750的其他外圍接 口。在某些實(shí)施方式中,1/0接口 730可以執(zhí)行任何必要的協(xié)議、定 時(shí)或者其他數(shù)據(jù)變換,以便將數(shù)據(jù)信號從適用于一個(gè)組件(例如, 系統(tǒng)存儲器720 )的格式轉(zhuǎn)換至適于由另一組件(例如,處理器710) 使用的格式。在某些實(shí)施方式中,1/0接口 730例如可以包括用于對 通過各種類型的外圍總線而附接的設(shè)備的支持,所述外圍總線諸如 不同的外圍組件互聯(lián)(PCI)總線標(biāo)準(zhǔn)或者通用串行總線(USB)標(biāo) 準(zhǔn)。在某些實(shí)施方式中,1/0接口 730的功能例如可以劃分成為兩個(gè) 或者多個(gè)獨(dú)立的部分,諸如北橋和南橋。另外,在某些實(shí)施方式中, 可以將1/0接口 730的某些或者全部功能性(諸如對系統(tǒng)存儲器720 的接口 )直接結(jié)合到處理器710之中。
網(wǎng)絡(luò)接口 740可以配置以允許在計(jì)算才幾系統(tǒng)700和附接至網(wǎng)絡(luò)的其他設(shè)備(諸如,其他計(jì)算機(jī)系統(tǒng))之間交換數(shù)據(jù),或者在計(jì)算
機(jī)系統(tǒng)700的節(jié)點(diǎn)之間交換數(shù)據(jù)。在各種實(shí)施方式中,網(wǎng)絡(luò)接口 740
例如可以支持經(jīng)由有線或者無線通用數(shù)據(jù)網(wǎng)絡(luò)(諸如,任意適合類
型的以太網(wǎng))進(jìn)行通信;經(jīng)由電信/電話網(wǎng)絡(luò)(諸如,模擬語音網(wǎng)絡(luò) 或者數(shù)字光纖通信網(wǎng)絡(luò))進(jìn)行通信;經(jīng)由存儲區(qū)域網(wǎng)絡(luò)(諸如光纖 信道SAN)進(jìn)行通信,或者經(jīng)由任何其他適合類型的網(wǎng)絡(luò)和/或協(xié)議 進(jìn)行通信。
在某些實(shí)施方式中,輸入/輸出設(shè)備750包括一個(gè)或者多個(gè)顯示 終端、鍵盤小鍵盤、觸摸板、掃描設(shè)備、語音或者光學(xué)識別設(shè)備、 或者適用于由一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)700輸入或者獲取數(shù)據(jù)的任 何其他設(shè)備。多個(gè)輸入/輸出設(shè)備750可以存在于計(jì)算機(jī)系統(tǒng)700中、 或者可以分布在計(jì)算機(jī)系統(tǒng)700的各種節(jié)點(diǎn)上。在某些實(shí)施方式中, 類似的輸入/輸出設(shè)備可以獨(dú)立于計(jì)算機(jī)系統(tǒng)700,并且可以通過有 線或者無線連接(諸如通過網(wǎng)絡(luò)接口 740)來與計(jì)算機(jī)系統(tǒng)700的一 個(gè)或者多個(gè)節(jié)點(diǎn)交互。
如圖26中所示,存儲器720可以包括程序指令725,配置以 實(shí)現(xiàn)在此所述的從示例合成元素排列的方法和裝置的實(shí)施方式;以 及數(shù)據(jù)存儲735,包括由程序指令725可訪問的各種數(shù)據(jù)。在一個(gè)實(shí) 施方式中,程序指令725可以包括如上文附圖la至25所示出的從 示例合成元素排列的方法和裝置的軟件元素。數(shù)據(jù)存儲735可以包 括在實(shí)施方式中使用的數(shù)據(jù)。在其他實(shí)施方式中,可以包括其他或 者不同的軟件元素和數(shù)據(jù)。
在各種實(shí)施方式中,程序指令725可以配置以單獨(dú)應(yīng)用的方式、 或者以其他圖形應(yīng)用或者圖形庫模塊的方式,來實(shí)現(xiàn)從示例合成元 素排列的方法和裝置。例如,在一個(gè)實(shí)施方式中,程序指令725可 以配置以實(shí)現(xiàn)一個(gè)或者多個(gè)圖形應(yīng)用,諸如繪制、出版、攝影、游 戲、動畫和/或其他應(yīng)用;并且如在此作為一個(gè)或者多個(gè)這些圖形應(yīng) 用的部分所描述,可以配置以從示例合成元素排列。在另一實(shí)施方 式中,程序指令725可以配置以在一個(gè)或者多個(gè)功能中實(shí)現(xiàn)如在此描述的從示例合成元素排列的方法和裝置,所述一個(gè)或者多個(gè)功能
由在處理器710上或者經(jīng)由網(wǎng)絡(luò)接口 740在某些其他設(shè)備或者系統(tǒng) 上可執(zhí)行的其他圖形應(yīng)用來調(diào)用。在各種實(shí)施方式中,程序指令725 還可以配置以繪制圖像并且將其呈現(xiàn)在一個(gè)或者多個(gè)顯示器780上, 以作為從示例合成元素排列的方法和裝置的輸出,和/或用以將繪制 的圖像數(shù)據(jù)存儲在存儲器720中。
本領(lǐng)域技術(shù)人員應(yīng)該理解,計(jì)算機(jī)系統(tǒng)700僅僅是示意性的, 并非旨在限制在此描述的從示例合成元素排列的方法和裝置的范 圍。尤其是,計(jì)算機(jī)系統(tǒng)和設(shè)備可以包括可以執(zhí)行所指示功能的硬 件和軟件的任意組合,包括計(jì)算機(jī)、網(wǎng)絡(luò)設(shè)備、因特網(wǎng)工具、PDA、 無線電話、尋呼機(jī)等。計(jì)算機(jī)系統(tǒng)700還可以連接至未示出的其他 設(shè)備,或者可以作為獨(dú)立系統(tǒng)操作。另外,在某些實(shí)施方式中,由 所示出組件提供的功能性可以在較少的組件中結(jié)合或者在其他組件 中分布。類似地,在某些實(shí)施方式中,還可以不提供所示出某些組 件的功能性和/或可獲得其他附加的功能性。
本領(lǐng)域技術(shù)人員還應(yīng)該理解,在使用時(shí),盡管各種項(xiàng)目示出為 存儲在存儲器或者存儲設(shè)備中,然而出于存儲器管理和數(shù)據(jù)完整性 的目的,這些項(xiàng)目或者項(xiàng)目的部分還可以在存儲器以及其他存儲設(shè) 備之間傳送??商鎿Q地,在其他實(shí)施方式中,可以在存儲器中或者 在其他設(shè)備上執(zhí)行某些或者所有軟件組件,并且經(jīng)由計(jì)算機(jī)內(nèi)通信 與示出的計(jì)算機(jī)系統(tǒng)進(jìn)行通信。某些或者所有系統(tǒng)組件或者數(shù)據(jù)結(jié) 構(gòu)還可以(作為指令或結(jié)構(gòu)化數(shù)據(jù))存儲在計(jì)算機(jī)可訪問介質(zhì)上, 或者存儲在用于由適當(dāng)驅(qū)動裝置讀取的便攜制品上,在上文中示出 了各種示例。在某些實(shí)施方式中,在獨(dú)立于計(jì)算機(jī)系統(tǒng)700的計(jì)算 機(jī)可訪問介質(zhì)上存儲的指令可以經(jīng)由傳輸介質(zhì)或者經(jīng)由通信介質(zhì) (諸如,網(wǎng)絡(luò)和/或無線鏈接)遞送的信號來傳送至計(jì)算機(jī)系統(tǒng)700, 所述信號諸如電信號、電磁信號和/或數(shù)字信號。各種實(shí)施方式可以 進(jìn)一步包括對根據(jù)基于計(jì)算機(jī)可訪問介質(zhì)的上述描述實(shí)現(xiàn)數(shù)據(jù)的和/ 或指令進(jìn)行接收、發(fā)送或者存儲。由此,開可以利用其他計(jì)算機(jī)系統(tǒng)配置來實(shí)現(xiàn)本發(fā)明。 結(jié)論
各種實(shí)施方式可以進(jìn)一步包括對根據(jù)基于計(jì)算機(jī)可訪問介質(zhì)的 上述描述實(shí)現(xiàn)數(shù)據(jù)和/或指令進(jìn)行接收、發(fā)送或者存儲。 一般而言, 計(jì)算機(jī)可訪問的介質(zhì)可以包括諸如磁性介質(zhì)或者光學(xué)介質(zhì)的存儲介
質(zhì)或者存儲器介質(zhì),例如,盤或者DVD/CD-ROM、易失性介質(zhì)或者 非易失性介質(zhì),諸如,RAM(例如,SDRAM、 DDR、 RDRAM、 SRAM 等)、ROM等,以及傳輸介質(zhì)或者經(jīng)由諸如網(wǎng)絡(luò)和/或無線鏈路的通 信介質(zhì)遞送的信號(諸如電信號、電磁信號或者數(shù)字信號)。
在附圖中示出以及在此所述的各種方法表示方法的示例性實(shí)施 方式??梢栽谲浖?、硬件或者其結(jié)合中實(shí)現(xiàn)該方法??梢愿淖兎椒?的順序,并且可以對各種元素進(jìn)4于添加、重新排序、結(jié)合、忽略、 修改等。
對于受益于本公開的本領(lǐng)域技術(shù)人員易見的是,可以進(jìn)行各種 修改和變化。旨在于使得本發(fā)明涵蓋所有此類修改和變化,并由此 認(rèn)為上述說明是示出性方式而并非限制性方式。
權(quán)利要求
1. 一種用于合成圖案的計(jì)算機(jī)實(shí)現(xiàn)方法,包括在已合成圖案中迭代地放置單個(gè)元素,其中在所述已合成圖案中放置單個(gè)元素包括在已合成圖案區(qū)域中確定目標(biāo)種子;在所述已合成圖案區(qū)域中確定所述目標(biāo)種子的相鄰部分特征;在包括多個(gè)元素的參考排列中確定參考元素,所述參考元素具有的相鄰部分特征與所述目標(biāo)種子的所述相鄰部分特征最為近似;以及在所述已合成圖案區(qū)域中,在所述目標(biāo)種子的位置處放置所述參考元素的副本。
2. 根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括,在所述在已合成 圖案中迭代地放置單個(gè)元素之前在所述參考排列的多個(gè)元素之間構(gòu)造連接性;以及部分特征。
3. 根據(jù)權(quán)利要求1所述的方法,其中所述在已合成圖案中迭代 地放置單個(gè)元素進(jìn)一步包括根據(jù)所述參考元素的所述相鄰部分特 征以及所述目標(biāo)種子的位置,在所述已合成圖案區(qū)域中生成一個(gè)或 者多個(gè)新的種子。
4. 根據(jù)權(quán)利要求1所述的方法,其中所述在包括多個(gè)元素的參相鄰部分特征的參考元素,包括對所述參考元素的相鄰部分應(yīng)用 旋轉(zhuǎn)以將所述參考元素的相鄰部分調(diào)整至所述目標(biāo)種子的相鄰部分。
5. 根據(jù)權(quán)利要求1所述的方法,其中所述在已合成圖案中迭代 地放置單個(gè)元素進(jìn) 一 步包括根據(jù)流場來調(diào)整所述已合成圖案區(qū)域 中的所述參考元素的副本的放置。
6. 根據(jù)權(quán)利要求5所述的方法,進(jìn)一步包括接收指定所述流場的用戶輸入。
7. 根據(jù)權(quán)利要求1所述的方法,其中所述已合成圖案區(qū)域包括 一個(gè)或者多個(gè)邊界,所述方法進(jìn)一步包括根據(jù)所述一個(gè)或者多個(gè) 邊界來限制在所述已合成圖案區(qū)域中的所述參考元素副本的放置。
8. 根據(jù)權(quán)利要求7所述的方法,進(jìn)一步包括接收指定所述一 個(gè)或者多個(gè)邊界的用戶輸入。
9. 根據(jù)權(quán)利要求1所述的方法,其中響應(yīng)于通過由用戶界面提 供的繪制工具接收到用戶輸入,來執(zhí)行所述在已合成圖案中迭代地 放置單個(gè)元素。
10. 根據(jù)權(quán)利要求1所述的方法,其中所述參考排列包括多個(gè)不 同類型的元素。
11. 根據(jù)權(quán)利要求10所述的方法,進(jìn)一步包括對所述參考排 列中的每種類型的每個(gè)元素賦予符號標(biāo)識符,其中符號標(biāo)識符唯一 地標(biāo)識所述參考排列中元素的相應(yīng)類型。
12. 根據(jù)權(quán)利要求11所述的方法,進(jìn)一步包括對所述參考排 列中的每個(gè)元素賦予子標(biāo)識符,其中子標(biāo)識符唯一地標(biāo)識所述參考排列中的相應(yīng)元素。
13. 根據(jù)權(quán)利要求12所述的方法,其中所述在已合成圖案中迭 代地放置單個(gè)元素進(jìn)一步包括根據(jù)賦予所述參考排列中的元素的 所述符號標(biāo)識符以及子標(biāo)識符,從所述參考排列中選擇至少某些元 素用于放置在所述已合成圖案區(qū)域中。
14. 一種系統(tǒng),包括 至少一個(gè)處理器;以及包含程序指令的存儲器,其中所述程序指令可由所述至少一個(gè)處 理器執(zhí)行以便執(zhí)行以下操作在已合成圖案中迭代地放置單個(gè)元素,其中在所述已合成圖案中 放置單個(gè)元素包括 在已合成圖案區(qū)域中確定目標(biāo)種子;在所述已合成圖案區(qū)域中確定所述目標(biāo)種子的相鄰部分特征:在包括多個(gè)元素的參考排列中確定參考元素,所述參考元素近似、;以及在所述已合成圖案區(qū)域中,在所述目標(biāo)種子的位置處放置所 述參考元素的副本。
15. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述程序指令可由所述 至少 一 個(gè)處理器執(zhí)行,以便在所述在已合成圖案中迭代地放置單個(gè) 元素之前在所述參考排列的多個(gè)元素之間構(gòu)造連接性;以及部分特征。
16. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中為了在已合成圖案中迭 代地放置單個(gè)元素,所述程序指令可由所述至少一個(gè)處理器執(zhí)行,位置在所述已合成圖案區(qū)域中生成一個(gè)或者多個(gè)新的種子。
17. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中為了在包括多個(gè)元素的的相鄰部分特征的參考元素,所述程序指令可由所述至少一個(gè)處理 器執(zhí)行,以便對所述參考元素的相鄰部分應(yīng)用旋轉(zhuǎn)以將所述參考 元素的相鄰部分調(diào)整至所述目標(biāo)種子的相鄰部分。
18. 根據(jù)權(quán)利要求14所述的系統(tǒng),所述程序指令可由所述至少 一個(gè)處理器執(zhí)行,以便接收用于指定所述已合成圖案的流場的用戶輸入;以及 根據(jù)所述流場來調(diào)整所述已合成圖案區(qū)域中的參考元素副本的 放置。
19. 根據(jù)權(quán)利要求14所述的系統(tǒng),所述程序指令可由所述至少 一個(gè)處理器執(zhí)行,以便接收用于指定所述已合成圖案的一個(gè)或者多個(gè)邊界的用戶輸入; 以及根據(jù)所述一個(gè)或者多個(gè)邊界來限制所述已合成圖案區(qū)域中的參 考元素副本的放置。
20. 根據(jù)權(quán)利要求14所述的系統(tǒng),所述程序指令可由所述至少 一個(gè)處理器執(zhí)行,以便通過由用戶界面提供的繪制工具接收用戶 輸入,其中所述用戶輸入指導(dǎo)所述程序指令來在所述已合成圖案中 迭代地放置單一元素。
21. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中所述參考排列包括多個(gè) 不同類型的元素,其中所述程序指令可由所述至少一個(gè)處理器執(zhí)行, 以便對所述參考排列中的每種類型的每個(gè)元素賦予符號標(biāo)識符,其中 符號標(biāo)識符唯一地標(biāo)識所述參考排列中元素的相應(yīng)類型;以及對所述參考排列中的每個(gè)元素賦予子標(biāo)識符,其中子標(biāo)識符唯一 地標(biāo)識所述參考排列中的相應(yīng)元素。
22. 根據(jù)權(quán)利要求14所述的系統(tǒng),其中為了在已合成圖案中迭 代地放置單個(gè)元素,所述程序指令可由所述至少一個(gè)處理器執(zhí)行,識符,從所述參考排列中選擇至少某些元素用于放置在所述已合成 圖案區(qū)域中。
23. —種存儲程序指令的計(jì)算機(jī)可讀存儲介質(zhì),其中所述程序指 令是計(jì)算機(jī)可執(zhí)行的,以便執(zhí)行以下步驟在已合成圖案中迭代地放置單個(gè)元素,其中在所述已合成圖案中 放置單個(gè)元素包括在已合成圖案區(qū)域中確定目標(biāo)種子;在所述已合成圖案區(qū)域中確定所述目標(biāo)種子的相鄰部分特征;在包括多個(gè)元素的參考排列中確定參考元素,所述參考元素 -最為近似;以及在所述已合成圖案區(qū)域中,在所述目標(biāo)種子的位置處放置所 述參考元素的副本。
24.根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),其中所述程 序指令是計(jì)算機(jī)可執(zhí)行的,以便在所述在已合成圖案中迭代地放置 單個(gè)元素之前在所述參考排列的多個(gè)元素之間構(gòu)造連接性;以及部分特征。
25. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),其中在所述 在已合成圖案中迭代地放置單個(gè)元素中,所述程序指令是計(jì)算機(jī)可標(biāo)種子的位置在所述已合成圖案區(qū)域中生成一個(gè)或者多個(gè)新的種子。
26. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),其中在所述 在包括多個(gè)元素的參考排列中確定具有與所述目標(biāo)種子的所述相鄰 部分特征最為近似的相鄰部分特征的參考元素中,所述程序指令是 計(jì)算機(jī)可執(zhí)行的,以便對所述參考元素的相鄰部分應(yīng)用旋轉(zhuǎn)以將 所述參考元素的相鄰部分調(diào)整至所述目標(biāo)種子的相鄰部分。
27. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),所述程序指 令是計(jì)算機(jī)可執(zhí)行的,以便接收用于指定所述已合成圖案的流場的用戶輸入;以及 在所述在已合成圖案中迭代地放置單個(gè)元素中,根據(jù)流場來調(diào)整 所述已合成圖案區(qū)域中的參考元素副本的放置。
28. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),所述程序指 令是計(jì)算機(jī)可執(zhí)行的,以便接收用于指定所述已合成圖案的一個(gè)或者多個(gè)邊界的用戶輸入; 以及 在所述在已合成圖案中迭代地放置單個(gè)元素中,根據(jù)所述一個(gè)或 者多個(gè)邊界來限制所述已合成圖案區(qū)域中的參考元素副本的放置。
29. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),所述程序指 令是計(jì)算機(jī)可執(zhí)行的,以便接收經(jīng)由繪制工具的用戶輸入,其中 響應(yīng)于接收到經(jīng)由繪制工具的用戶輸入,來執(zhí)行所述在已合成圖案 中迭代地放置單個(gè)元素。
30. 根據(jù)權(quán)利要求23所述的計(jì)算機(jī)可讀存儲介質(zhì),其中所述參 考排列包括多個(gè)不同類型的元素,其中所述程序指令是計(jì)算機(jī)可執(zhí) 4亍的,以^f更對所述參考排列中的每種類型的每個(gè)元素賦予符號標(biāo)識符,其中 符號標(biāo)識符唯 一 地標(biāo)識所述參考排列中元素的相應(yīng)類型;以及對所述參考排列中的每個(gè)元素賦予子標(biāo)識符,其中子標(biāo)識符唯一 地標(biāo)識所述參考排列中的相應(yīng)元素。
31. 根據(jù)權(quán)利要求30所述的計(jì)算機(jī)可讀存儲介質(zhì),其中在所述 在已合成圖案中迭代地放置單個(gè)元素中,所述程序指令是計(jì)算機(jī)可述已合成圖案區(qū)域中。
全文摘要
本發(fā)明公開了一種用于從示例合成元素排列的方法和裝置。實(shí)施方式可以從示例排列合成元素排列圖案。實(shí)施方式可以將基于示例和目標(biāo)的局部相鄰部分比較的紋理合成技術(shù)與基于局部生長的過程化建模相結(jié)合。給出示例,可以構(gòu)造元素的連接性以便獲取每個(gè)元素的相鄰部分信息。合成處理可以開始于單一種子,并且通過在種子位置處逐個(gè)放置新的元素來擴(kuò)展已合成圖案??梢詮氖纠羞x擇參考元素,所述參考元素具有的相鄰部分特征與已合成圖案的目標(biāo)種子的相鄰部分特征最為近似??梢蕴峁┓切D(zhuǎn)模式、旋轉(zhuǎn)模式以及流場模式??梢蕴峁├L制工具、流場工具和邊界工具。
文檔編號G06T11/40GK101447088SQ20081021269
公開日2009年6月3日 申請日期2008年8月29日 優(yōu)先權(quán)日2007年8月31日
發(fā)明者G·S·P·米勒, R·米克, 井尻隆志 申請人:奧多比公司