專利名稱:用來(lái)建造塊模型的建造指令的自動(dòng)生成的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用來(lái)建造塊模型的建造指令的生成。
背景技術(shù):
有各種類型的物理構(gòu)造玩具組的建模概念。特別是,使用模塊或半模塊概念的概念非常流行,因?yàn)樗鼈兲峁┯腥ず吞魬?zhàn)的玩耍體驗(yàn)。典型地,這些概念提供一組預(yù)制造元件或建造塊,它們根據(jù)預(yù)制造元件的模型以某種預(yù)定方式可彼此互連。預(yù)制造元件模仿適應(yīng)特定建模任務(wù)的熟知對(duì)象。因而,在例如建造房屋的模型時(shí),元件可以模仿墻磚、屋頂瓦片、門、及窗戶。以這種方式選擇元件的目的是,涉及房屋模型建造的工作,與其中每當(dāng)應(yīng)該形成新模型時(shí)限定房屋的所有細(xì)節(jié)的情形相比,被顯著減少。然而,建造房屋或另一種對(duì)象時(shí)的完全自由度為了建造模型的簡(jiǎn)單性被折衷。
例如,在名稱LEGO下可得到的玩具構(gòu)造組包括多個(gè)不同類型的可互連建造塊,該塊具有突起和對(duì)應(yīng)凹腔作為連接元件。連接元件根據(jù)規(guī)則網(wǎng)格圖案排列,由此允許在建造塊之間的各種各樣的互連。
典型地,這樣的構(gòu)造組包括一組建造塊,該組建造塊適于創(chuàng)建一個(gè)或多個(gè)建造塊模型,例如動(dòng)物、機(jī)器人、或另一個(gè)生物、汽車、飛機(jī)、飛船、建筑物、等等。典型地,構(gòu)造組還包括印刷建造指令或組裝指令,該指令表明如何由組的建造塊構(gòu)造一定模型。盡管如此,正是這樣的建造組的有趣特征激勵(lì)小孩創(chuàng)建他們自己的模型。
典型地,在玩具建造組中封入的建造指令包括一系列畫(huà)面,該畫(huà)面一步接一步地表明如何和按哪種順序把建造塊添加到模型上。這樣的建造指令具有它們?nèi)菀鬃裱膬?yōu)點(diǎn),即使對(duì)于沒(méi)有玩具建造組的較多經(jīng)驗(yàn)和/或沒(méi)有閱讀技巧的小孩也是如此。
然而,這樣的建造指令具有它們使用大量勞力并且生產(chǎn)昂貴的缺點(diǎn)。典型地,建造指令要?jiǎng)?chuàng)建的模型分解成合理的建造步驟,并且每個(gè)建造步驟接著畫(huà)在CAD系統(tǒng)中和最后印刷。
最近,建造指令已經(jīng)電子地而不是以印刷形式產(chǎn)生。具體地說(shuō),有動(dòng)畫(huà)(animated)建造指令,其中動(dòng)畫(huà)更復(fù)雜的建造步驟。然而,這樣的建造指令的生成,仍然涉及通過(guò)熟練設(shè)計(jì)人員的建造步驟的設(shè)計(jì)和畫(huà)出/動(dòng)畫(huà)。
以上生產(chǎn)過(guò)程具有它們要求巨大技巧和使用大量勞力的缺點(diǎn)。作為結(jié)果,建造指令典型地僅對(duì)于由建造塊的制造商設(shè)計(jì)的建造塊模型存在。具體地說(shuō),用來(lái)產(chǎn)生建造指令的以上現(xiàn)有技術(shù)方法不適于希望產(chǎn)生用于他們自己的模型的建造指令的小孩,他們自己的模型允許他們與他們的朋友共享他們的模型。
有效、容易理解分步建造指令的設(shè)計(jì)也已經(jīng)是某些研究的主題。從http://graphics.stanford.edu/papers/assembly instructions/檢索的M.Agrawala等的互聯(lián)網(wǎng)公報(bào)“Designing Effective Step-by-StepAssembly Instructions(設(shè)計(jì)有效分步組裝指令)”,基于智力心理學(xué)描述了用于有效組裝指令的設(shè)計(jì)原理。這篇文章還公開(kāi)了一種基于關(guān)于待組裝的對(duì)象的每一個(gè)、組裝方位及用于圖形再現(xiàn)的攝像機(jī)視點(diǎn)的信息;成組信息;關(guān)于緊固件、零件的意義、對(duì)稱性、及關(guān)于對(duì)組裝順序的約束條件的信息而用來(lái)產(chǎn)生組裝指令的計(jì)算機(jī)化系統(tǒng)?;谶@種輸入,系統(tǒng)基于考慮到給定約束的廣泛研究算法計(jì)算一系列組裝步驟。
以上現(xiàn)有技術(shù)系統(tǒng)的問(wèn)題是它計(jì)算昂貴并且要求復(fù)雜的輸入數(shù)據(jù),因而要求來(lái)自用戶的高度抽象思考。
因此,具體地說(shuō),用來(lái)產(chǎn)生建造指令的以上現(xiàn)有技術(shù)方法都不適于希望產(chǎn)生用于他們自己的模型的建造指令的小孩,他們自己的模型允許他們與他們的朋友共享他們的模型,并且進(jìn)一步改進(jìn)玩耍體驗(yàn)。
發(fā)明內(nèi)容以上和其它問(wèn)題由產(chǎn)生用于建造塊模型的建造指令的計(jì)算機(jī)實(shí)施方法解決,模型包括多個(gè)建造塊;該方法包括a)檢索建造塊模型的數(shù)字表示;其中,所述數(shù)字表示指示連續(xù)構(gòu)造順序,按該連續(xù)構(gòu)造順序,多個(gè)虛擬建造塊在計(jì)算機(jī)實(shí)施虛擬構(gòu)造過(guò)程期間響應(yīng)用戶命令已經(jīng)定位,所述虛擬構(gòu)造過(guò)程產(chǎn)生虛擬建造塊模型;和b)產(chǎn)生所述多個(gè)虛擬建造塊的相應(yīng)第一和第二子組的至少第一和第二部分模型的圖形表示;其中,第二子組包括第一子組和所述多個(gè)虛擬建造塊的預(yù)定數(shù)量的另外虛擬建造塊;并且其中,另外虛擬建造塊就從連續(xù)構(gòu)造順序?qū)С龅倪B續(xù)指令順序而論在第一子組中的所有虛擬建造塊之后。
因此,已經(jīng)實(shí)現(xiàn)的是,建造模型的虛擬版本的用戶采用自然序列的組裝步驟,對(duì)于該模型要產(chǎn)生建造指令。所以,通過(guò)記錄和存儲(chǔ)由用戶采用的組裝步驟的順序,步驟的順序可用在建造指令的產(chǎn)生中。結(jié)果是,由這種計(jì)算簡(jiǎn)單方法產(chǎn)生的建造指令容易由其它用戶理解,特別是小孩。
此外,由于對(duì)于建造指令的唯一輸入是虛擬模型和數(shù)字表示和關(guān)于在虛擬模型產(chǎn)生期間記錄的虛擬構(gòu)造步驟的序列的信息,所以建造指令容易使用戶產(chǎn)生,而不要求用戶擁有設(shè)計(jì)技巧或關(guān)于幾何學(xué)、結(jié)束條件、等等的抽象知識(shí)。
虛擬建造塊的定位可以包括建造塊的希望方位的選擇,例如相對(duì)于基準(zhǔn)坐標(biāo)系。因此,在某些實(shí)施例中,虛擬建造塊的定位包括相對(duì)于3維坐標(biāo)系定位和選擇虛擬建造塊的方位。
在優(yōu)選實(shí)施例中,數(shù)字表示包括一系列數(shù)據(jù)記錄,每個(gè)代表多個(gè)建造塊之一;并且所述系列代表連續(xù)構(gòu)造順序,按該連續(xù)構(gòu)造順序,在模型產(chǎn)生期間定位虛擬建造塊。因此,當(dāng)用于個(gè)別建造塊的數(shù)據(jù)記錄在這些塊添加到或重新定位在模型中時(shí)按相同順序存儲(chǔ)時(shí),關(guān)于連續(xù)順序的信息自動(dòng)地包括在數(shù)字表示中而不需要另外數(shù)據(jù)項(xiàng),由此提供特別緊湊的表示。此外,當(dāng)產(chǎn)生部分模型的圖形表示時(shí),為了辨別在以后步驟中待添加的下個(gè)建造塊不要求通過(guò)數(shù)據(jù)記錄的查找。
在可選擇實(shí)施例中,數(shù)字表示包括多個(gè)數(shù)據(jù)記錄,每個(gè)代表多個(gè)建造塊之一;并且其中,每個(gè)數(shù)據(jù)記錄包括指示在所述連續(xù)順序中的對(duì)應(yīng)虛擬建造塊的位置的數(shù)據(jù)項(xiàng),按所述連續(xù)順序,在模型產(chǎn)生期間定位虛擬建造塊。所以,當(dāng)在連續(xù)定序中的每個(gè)建造塊的位置被清楚地存儲(chǔ)時(shí),方法對(duì)于數(shù)字表示的格式不施加任何定序約束。理解的是,定序信息可以以各種方式包括在數(shù)字表示中,例如通過(guò)把序列號(hào)賦予每個(gè)建造塊,通過(guò)把數(shù)據(jù)記錄存儲(chǔ)為鏈接清單,其中每個(gè)數(shù)據(jù)記錄包括對(duì)于在序列中的下個(gè)建造塊的指針、等等。
在一個(gè)實(shí)施例中,連續(xù)指令順序與記錄連續(xù)構(gòu)造順序相同,由此避免對(duì)于重新分類存儲(chǔ)數(shù)據(jù)記錄的任何需要。在另一個(gè)優(yōu)選實(shí)施例中,方法還包括根據(jù)得到連續(xù)指令順序的預(yù)定分類標(biāo)準(zhǔn)修改連續(xù)指令順序,由此提供用來(lái)考慮物理構(gòu)造過(guò)程的限制的機(jī)理,該限制在虛擬構(gòu)造過(guò)程中不實(shí)施。在某些實(shí)施例中,在分類數(shù)字表示之前進(jìn)行連續(xù)順序的修改,導(dǎo)致包括關(guān)于構(gòu)造序列和關(guān)于連續(xù)順序的任何修改的信息的模型的數(shù)字表示。例如,建造塊數(shù)據(jù)記錄可以按修改連續(xù)順序存儲(chǔ)??蛇x擇地,數(shù)字表示按記錄構(gòu)造順序存儲(chǔ),并且作為圖形表示的產(chǎn)生的部分進(jìn)行任何修改。
具體地說(shuō),結(jié)果是當(dāng)數(shù)字表示包括虛擬建造塊的每一個(gè)相對(duì)于預(yù)定坐標(biāo)系的相應(yīng)位置坐標(biāo)時(shí),并且當(dāng)所述分類標(biāo)準(zhǔn)包括沿至少一個(gè)預(yù)定方向,優(yōu)選地從基礎(chǔ)板突出的方向-建造塊模型構(gòu)造在該基礎(chǔ)板上,的所述位置坐標(biāo)時(shí),得到特別容易遵循的用戶指令。
在另一個(gè)優(yōu)選實(shí)施例中,方法還包括借助于用來(lái)交互地構(gòu)造虛擬建造塊模型的計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境而產(chǎn)生建造塊模型的數(shù)字表示,其中產(chǎn)生包括-彼此相對(duì)地把多個(gè)虛擬建造塊定位在相應(yīng)位置中,導(dǎo)致虛擬建造塊模型,其中虛擬建造塊響應(yīng)用戶命令按連續(xù)構(gòu)造順序定位;-存儲(chǔ)包括關(guān)于所述連續(xù)構(gòu)造順序的信息的所述虛擬建造塊模型的數(shù)字表示。
優(yōu)選地,用來(lái)交互地構(gòu)造虛擬建造塊模型的計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境包括計(jì)算機(jī)程序,該計(jì)算機(jī)程序在計(jì)算機(jī)上執(zhí)行時(shí),提供圖形用戶接口,該圖形用戶接口允許用戶操縱虛擬建造塊模型,包括像選擇建造塊、把建造塊添加到模型、從模型刪除建造塊、改變建造塊的方位、改變建造塊的性質(zhì)例如顏色、類型、尺寸、及/或類似性質(zhì)、觀看模型、保存模型的數(shù)字表示、加載以前保存模型的數(shù)字表示、等等之類的操作。
優(yōu)選地,虛擬建造塊是對(duì)應(yīng)物理建造塊的虛擬對(duì)等部分,即具有對(duì)應(yīng)的相對(duì)尺寸、形狀、顏色、等等。
在另外的優(yōu)選實(shí)施例中,計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境配置成加強(qiáng)相對(duì)于彼此施加在建造塊的相對(duì)位置上的預(yù)定組限制。優(yōu)選地,限制與可應(yīng)用于對(duì)應(yīng)物理建造塊的對(duì)應(yīng)限制相對(duì)應(yīng),由此保證由對(duì)應(yīng)物理建造塊實(shí)際上也可構(gòu)造虛擬建造塊模型。所以,優(yōu)點(diǎn)是,方法保證產(chǎn)生的建造指令實(shí)際上是可實(shí)現(xiàn)的,即導(dǎo)致希望結(jié)果。
這樣的限制的一個(gè)例子是在新放置的建造塊與以前放置的建造塊之間的碰撞探測(cè)。此外,在多個(gè)玩具建造組中,建造塊彼此是可互連的,即它們包括適于與其它這樣的建造塊的連接元件接合的連接元件。這樣的連接元件對(duì)于建造塊的可能放置施加進(jìn)一步的限制,因?yàn)檫B接只有在相容連接元件之間才是可能的,例如當(dāng)放置在彼此相對(duì)的正確位置中時(shí)配合到對(duì)應(yīng)凹腔中的突起。因此,在優(yōu)選實(shí)施例中,計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境配置成取回虛擬建造塊的對(duì)應(yīng)連接元件的連接性信息,該信息指示彼此預(yù)定靠近定位的兩個(gè)建造塊的連接元件是否提供在兩個(gè)建造塊之間的連接。
優(yōu)選地,每個(gè)圖形表示包括部分建造塊模型的圖形再現(xiàn),即建造塊模型包括連續(xù)定序的部分序列的建造塊。在另外的優(yōu)選實(shí)施例中,第一和第二子組的每一個(gè)由存儲(chǔ)的連續(xù)順序構(gòu)成不間斷部分序列的虛擬建造塊,由此提供容易遵循的建造指令,其中每個(gè)圖形表示與在建造過(guò)程中的步驟相對(duì)應(yīng),其中預(yù)定數(shù)量的建造塊添加到模型上。用戶通過(guò)比較兩個(gè)連續(xù)圖形表示可容易地確定哪些建造塊要在每個(gè)步驟中添加和它們?nèi)绾翁砑印?br> 當(dāng)方法還包括提供用來(lái)觀看圖形表示的用戶接口時(shí),其中用戶接口優(yōu)選地利于產(chǎn)生的圖形表示的用戶控制操縱,建造塊模型的數(shù)字表示可以便利地在計(jì)算機(jī)上觀看。具體地說(shuō),由于模型的數(shù)字表示包括對(duì)于建造指令的產(chǎn)生所要求的所有信息,所以建造指令可以便利地從一個(gè)計(jì)算機(jī)通信到另一個(gè),例如存儲(chǔ)在存儲(chǔ)介質(zhì)上,經(jīng)通信網(wǎng)絡(luò)發(fā)送,例如作為電子郵件附件、裝載在web服務(wù)器上等等。數(shù)字表示的接收者因而可以觀看圖形表示并且操縱它,例如改變視角、縮放、改變觀看選項(xiàng)、及/或類似操縱。因此,用戶可以容易地把他們的建造指令通信給朋友。另外的優(yōu)點(diǎn)是,數(shù)字表示不必包括指令的每個(gè)步驟的圖形再現(xiàn),由此保持?jǐn)?shù)字表示的文件尺寸較小。此外,由于數(shù)字表示優(yōu)選地包括所有相關(guān)模型信息,所以模型的接收者甚至可以在產(chǎn)生建造指令之前修改模型。
優(yōu)選地,用戶接口提供用來(lái)觀看產(chǎn)生的圖形表示的選擇表示和提供象縮放、旋轉(zhuǎn)等等之類的操作的功能性。所以,用戶在觀看指令時(shí)可挑選和甚至改變優(yōu)選視點(diǎn),由此避免由放置在位置中的新放置建造塊引起的任何問(wèn)題,在該位置處它不可見(jiàn)而不需要計(jì)算昂貴的3D計(jì)算。更優(yōu)選地,用戶接口提供用來(lái)觀看部分模型的一系列圖形表示的功能性,其中在下個(gè)圖形表示自動(dòng)地顯示之前,每個(gè)圖形表示顯示預(yù)定的時(shí)間段。所以,用戶可以觀看作為實(shí)際建造過(guò)程的滑動(dòng)表示或動(dòng)畫(huà)的建造指令,由此進(jìn)一步利于指令的理解。
優(yōu)選地,用戶接口還提供用來(lái)打印圖形表示的至少一個(gè)和/或用來(lái)以預(yù)定文件格式存儲(chǔ)圖形表示的至少一個(gè)的功能性,由此允許打印的和/或電子建造指令的產(chǎn)生。適當(dāng)文件格式的例子包括HTML、XML、BMP、TIFF、等等。
在優(yōu)選實(shí)施例中,在步驟狀指令的步驟中添加的另外虛擬建造塊的預(yù)定數(shù)量是用戶可選擇的,由此通過(guò)步驟指令-其中例如每個(gè)步驟與單個(gè)新建造塊的放置相對(duì)應(yīng)、和非常緊湊指令-其中每個(gè)步驟與大量新放置塊相對(duì)應(yīng)-允許用戶在非常詳細(xì)的步驟之間選擇。結(jié)果是,對(duì)于多個(gè)模型,當(dāng)預(yù)定數(shù)量在1與6之間選擇,優(yōu)選地在2與4之間選擇時(shí),實(shí)現(xiàn)容易遵循的指令。然而,其它步驟大小也是可能的。在某些實(shí)施例中,在每個(gè)步驟中添加的建造塊的數(shù)量在所有步驟中都相同。在其它實(shí)施例中,添加的另外塊的數(shù)量對(duì)于建造指令的不同步驟可以不同。例如,步驟大小對(duì)于每個(gè)步驟可以由用戶控制,由此對(duì)于構(gòu)造的更復(fù)雜部分允許更加細(xì)化的指令的產(chǎn)生。
當(dāng)方法還包括與另外建造塊的圖形表示一起呈現(xiàn)模型的第二圖形表示-該另外建造塊把第二部分模型與第一部分模型區(qū)分開(kāi)時(shí),提供特別有效的建造指令,由于用戶可立即看到在每個(gè)步驟中添加哪些建造塊??蛇x擇地或另外地,新放置建造塊可以以不同方式高亮,例如通過(guò)在部分模型中以不同顏色、半透明、用約束框、等等再現(xiàn)新放置的建造塊。
本發(fā)明能以不同方式實(shí)施,包括以上描述的方法和在下面的一種數(shù)據(jù)處理系統(tǒng)、和另外的產(chǎn)品裝置,每個(gè)與首先提到的方法一道產(chǎn)生描述的好處和優(yōu)點(diǎn)的一個(gè)或多個(gè),并且每個(gè)具有與聯(lián)系首先提到的方法描述的和在與其相關(guān)的從屬權(quán)利要求
書(shū)中公開(kāi)的優(yōu)選實(shí)施相對(duì)應(yīng)的一個(gè)或多個(gè)優(yōu)選實(shí)施例。
具體地說(shuō),以上和下面描述的方法的特征可以以軟件實(shí)施,并且可以在通過(guò)計(jì)算機(jī)可執(zhí)行指令的執(zhí)行引起的數(shù)據(jù)處理系統(tǒng)或其它處理裝置上實(shí)現(xiàn)。指令可以是從存儲(chǔ)介質(zhì)或從另一個(gè)計(jì)算機(jī)經(jīng)計(jì)算機(jī)網(wǎng)絡(luò)加載在諸如RAM之類的存儲(chǔ)器中的程序代碼裝置??蛇x擇地,描述的特征可以由硬導(dǎo)線連接的電路而不是軟件或者與軟件的組合實(shí)施。
因而,本發(fā)明還涉及一種適于完成以上和下面描述的方法的數(shù)據(jù)處理系統(tǒng)。本發(fā)明還涉及一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括當(dāng)所述程序在計(jì)算機(jī)上運(yùn)行時(shí)用來(lái)完成以上和下面描述的方法的所有步驟的程序代碼裝置。本發(fā)明還涉及一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括當(dāng)所述程序產(chǎn)品在計(jì)算機(jī)上運(yùn)行時(shí)用來(lái)完成以上和下面描述的方法的程序代碼裝置。程序代碼裝置可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上和/或?qū)嵤閭鞑?shù)據(jù)信號(hào)。
優(yōu)選地,計(jì)算機(jī)程序包括第一軟件部分(成分),用來(lái)完成首先提到的方法的步驟a)和b);和第二軟件部分(成分),用來(lái)借助于用來(lái)交互構(gòu)造虛擬建造塊模型的計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境,完成產(chǎn)生建造塊模型的數(shù)字表示的步驟,由此提供用來(lái)閱讀模型的數(shù)字表示的獨(dú)立軟件部分和呈現(xiàn)對(duì)應(yīng)建造指令。因此,當(dāng)通信建造指令時(shí),用戶可以與第二軟件部分一起通信數(shù)字表示,由此提供可由接收者觀看的建造指令的緊湊、自包含表示,而不需要另外軟件。
下面聯(lián)系優(yōu)選實(shí)施例和參照附圖將更充分地解釋本發(fā)明,其中圖1a-b表示一種用來(lái)產(chǎn)生建造塊模型的建造指令的數(shù)據(jù)處理系統(tǒng);圖2表示建造指令產(chǎn)生的實(shí)施例的流程圖;圖3表示虛擬建造塊系統(tǒng)的圖形用戶接口;圖4表明建造塊和其連接元件的例子;圖5表明用來(lái)數(shù)字表示建造塊模型的數(shù)據(jù)結(jié)構(gòu)的實(shí)施例;圖6表明用來(lái)數(shù)字表示建造塊模型的數(shù)據(jù)結(jié)構(gòu)的另一個(gè)實(shí)施例;圖7表明建造指令應(yīng)用程序的圖形用戶接口的實(shí)施例;圖8表明建造塊模型的部分模型形成分步建造指令的圖形表示的典型序列;圖9表明建造指令應(yīng)用程序的圖形用戶接口的觀看區(qū)域的另一個(gè)實(shí)施例;圖10表明虛擬建造塊模型的一系列構(gòu)造步驟的例子;及圖11表明根據(jù)圖10的序列創(chuàng)建的虛擬建造塊模型的建造指令的實(shí)施例。
具體實(shí)施方式圖1a-b表示一種用來(lái)產(chǎn)生和操縱幾何對(duì)象的計(jì)算機(jī)可讀模型的數(shù)據(jù)處理系統(tǒng)。
圖1a表示計(jì)算機(jī)系統(tǒng)的例子的示意圖。計(jì)算機(jī)系統(tǒng)包括適當(dāng)編程計(jì)算機(jī)101,例如個(gè)人計(jì)算機(jī),該計(jì)算機(jī)101包括顯示器120、鍵盤121及計(jì)算機(jī)鼠標(biāo)122和/或另一個(gè)點(diǎn)擊裝置,如觸摸墊、跟蹤球、光筆、觸摸屏幕、等等。
指示為101的計(jì)算機(jī)系統(tǒng)適于促進(jìn)設(shè)計(jì)、存儲(chǔ)、操縱、及共享虛擬建造塊模型以及產(chǎn)生建造指令,如這里描述的那樣。計(jì)算機(jī)系統(tǒng)101可用作獨(dú)立系統(tǒng),或用作在客戶機(jī)/服務(wù)器系統(tǒng)中的客戶機(jī)。在某些實(shí)施例中,計(jì)算機(jī)系統(tǒng)還包括用來(lái)把計(jì)算機(jī)與計(jì)算機(jī)網(wǎng)絡(luò),例如因特網(wǎng),相連接的一個(gè)或多個(gè)接口。
圖1b表示用來(lái)產(chǎn)生用于建造塊模型的建造指令的數(shù)據(jù)處理系統(tǒng)的方塊圖。計(jì)算機(jī)101包括可以部分實(shí)施為易失和部分實(shí)施為非易失存儲(chǔ)器裝置的存儲(chǔ)器102,例如隨機(jī)存取存儲(chǔ)器(RAM)和硬盤。存儲(chǔ)器在其上已經(jīng)存儲(chǔ)模型代碼解釋器107、模型代碼產(chǎn)生器108、UI事件處理器109、建模應(yīng)用程序110、及建造指令產(chǎn)生器113,每個(gè)可由中央處理單元103執(zhí)行。另外,存儲(chǔ)器在其中已經(jīng)存儲(chǔ)模型數(shù)據(jù)111,即代表虛擬建造塊模型的數(shù)字表示的一組數(shù)據(jù)結(jié)構(gòu)。
代碼解釋器107適于讀取和解釋定義模型的代碼,即代表模型的建造塊的數(shù)據(jù)結(jié)構(gòu)的代碼。在優(yōu)選實(shí)施例中,代碼解釋器適于讀取模型和把這樣一種模型轉(zhuǎn)換成用于在計(jì)算機(jī)顯示器上的表示的已知圖形格式,優(yōu)選地模型的3D再現(xiàn)。
UI事件處理器109適于把用戶與用戶接口的交互作用轉(zhuǎn)換成可由代碼產(chǎn)生器108識(shí)別的適當(dāng)用戶指令。一組可能和可識(shí)別命令可包括由元件庫(kù)獲得建造塊;把建造塊放置成連接到另一個(gè)建造塊上;脫開(kāi)建造塊;丟棄建造塊;操縱建造塊、一組建造塊;等等,例如通過(guò)啟動(dòng)旋轉(zhuǎn)、等等。與每條命令一道,可以相關(guān)聯(lián)有一組相應(yīng)參數(shù),例如相對(duì)于顯示坐標(biāo)系的光標(biāo)坐標(biāo)、建造塊的類型、等等。
代碼產(chǎn)生器108適于響應(yīng)用戶的命令修改模型的數(shù)據(jù)結(jié)構(gòu)。作為并行或以后任務(wù),代碼產(chǎn)生器可被執(zhí)行,以便呈現(xiàn)代碼產(chǎn)生器的結(jié)果。
建模應(yīng)用程序110適于控制存儲(chǔ)器、文件、用戶接口、等等。
建造指令應(yīng)用程序113適于根據(jù)存儲(chǔ)的建造步驟序列讀取模型數(shù)據(jù)和提供用來(lái)顯示部分模型的用戶接口,如下面描述的那樣。建造指令應(yīng)用程序113使用由代碼解釋器107和UI事件處理器109提供的、分別用于模型的讀取和圖形再現(xiàn)和用來(lái)接收用戶輸入的功能。在可選擇實(shí)施例中,建造指令應(yīng)用程序是自包含的,即不依賴于外部軟件部分。
用戶105借助于用戶接口106、和諸如鍵盤和/或點(diǎn)擊裝置之類的一個(gè)或多個(gè)輸入裝置,能夠與計(jì)算機(jī)系統(tǒng)101交互作用,該用戶接口106優(yōu)選地包括在計(jì)算機(jī)屏幕上顯示的圖形用戶接口。
為了加載、保存、或通信模型、幾何描述、或其它數(shù)據(jù),計(jì)算機(jī)系統(tǒng)包括輸入/輸出單元(I/O)104。輸入/輸出單元可用作對(duì)于不同類型的存儲(chǔ)介質(zhì)和不同類型的計(jì)算機(jī)網(wǎng)絡(luò),例如因特網(wǎng),的接口。而且,輸入/輸出單元(I/O)104可用于與其它用戶例如交互地交換模型。
在存儲(chǔ)器102、中央處理單元(CPU)103、用戶接口(UI)106、及輸入/輸出單元104之間的數(shù)據(jù)交換借助于數(shù)據(jù)總線112完成。
注意,圖1的數(shù)據(jù)處理系統(tǒng)配置成執(zhí)行建模應(yīng)用程序和建造指令應(yīng)用程序。然而,在其它實(shí)施例中,數(shù)據(jù)處理系統(tǒng)可以配置成僅基于從另一個(gè)計(jì)算機(jī)接收的模型數(shù)據(jù)執(zhí)行建造指令應(yīng)用程序,在該另一個(gè)計(jì)算機(jī)上執(zhí)行建模應(yīng)用程序。同樣,在所述其它計(jì)算機(jī)上,建模應(yīng)用程序可以單獨(dú)地或與建造指令應(yīng)用程序組合地安裝。
圖2表示建造指令產(chǎn)生的實(shí)施例的流程圖。過(guò)程分成模型產(chǎn)生階段206,包括步驟S1和S2;和建造指令產(chǎn)生階段207,包括步驟S3和S4。模型產(chǎn)生階段206產(chǎn)生建造塊模型的數(shù)字表示,該數(shù)字表示是到建造指令產(chǎn)生階段207的輸入。這個(gè)模塊過(guò)程的優(yōu)點(diǎn)是,兩個(gè)階段可在同一或不同的計(jì)算機(jī)上執(zhí)行。
在初始步驟S1中,由模型產(chǎn)生模塊,例如圖1b的建模應(yīng)用程序110,創(chuàng)建虛擬建造模型的數(shù)字表示。交互地進(jìn)行建模,允許用戶202由一組預(yù)定虛擬建造塊建造虛擬建造塊模型。虛擬建造塊存儲(chǔ)為在存儲(chǔ)介質(zhì)201上的相應(yīng)數(shù)據(jù)結(jié)構(gòu)。例如,數(shù)據(jù)記錄可以局部存儲(chǔ)在計(jì)算機(jī)上,在該計(jì)算機(jī)上執(zhí)行建模應(yīng)用程序??蛇x擇地或另外地,建造塊定義可以從存儲(chǔ)裝置,例如CD ROM,或經(jīng)計(jì)算機(jī)網(wǎng)絡(luò),例如通過(guò)從在因特網(wǎng)上的網(wǎng)站下載建造塊定義,而取得。
在模型產(chǎn)生期間,用戶典型地通過(guò)一次選擇多個(gè)建造塊的一個(gè)并且把選擇的建造塊添加到模型上,即把它相對(duì)于以前放置的建造塊定位,而創(chuàng)建虛擬建造塊模型。便利地,這樣一種定位操作可以由拖動(dòng)和放下操作或類似的交互選擇和定位操作進(jìn)行。
虛擬真實(shí)性建模的實(shí)施例在US 6,389,375中描述。此外,把新虛擬建造塊交互地放置在包括3D結(jié)構(gòu)的布景中的過(guò)程的實(shí)施例在共同待決國(guó)際申請(qǐng)PCT/DK2004/000341中描述。兩個(gè)實(shí)施例都通過(guò)參考全部包括在這里。
要理解,建造過(guò)程還可以包括已經(jīng)放置在模型中的建造塊的操縱,包括刪除建造塊、把建造塊運(yùn)動(dòng)到另一個(gè)位置、重新定向建造塊、改變建造塊的屬性/性質(zhì)、和/或類似操作。
當(dāng)用戶典型地一次定位一個(gè)建造塊時(shí),例如通過(guò)添加新選擇的建造塊或通過(guò)重新定位以前放置的建造塊,建造過(guò)程施加連續(xù)順序的建造步驟。這種連續(xù)順序由建模應(yīng)用程序記錄。雖然如此,但在某些實(shí)施例中,幾個(gè)建造塊可以同時(shí)放置。例如,在某些實(shí)施例中,建模應(yīng)用程序提供拷貝和粘貼功能,其中一個(gè)或多個(gè)互連建造塊可以響應(yīng)用戶命令而被選擇,并且選擇子結(jié)構(gòu)的拷貝可以定位在模型的不同位置處。在這個(gè)實(shí)施例中,選擇建造塊的每一個(gè)具有在連續(xù)定序中的位置。當(dāng)產(chǎn)生多個(gè)建造塊的拷貝時(shí),它們相對(duì)于其它選擇和拷貝的建造塊保持它們的相對(duì)連續(xù)定序,由此在拷貝操作期間相對(duì)于另一個(gè)簡(jiǎn)單地維持它們的相對(duì)連續(xù)定序。
一旦在步驟S1中的模型的創(chuàng)建完成,模型的數(shù)字表示就由在步驟S2中的建模應(yīng)用程序保存。典型地,保存步驟由對(duì)應(yīng)用戶命令啟動(dòng)。
在步驟S2中,數(shù)字表示存儲(chǔ)在存儲(chǔ)介質(zhì)203中,例如,在運(yùn)行建模應(yīng)用程序的計(jì)算機(jī)的本地硬盤上,在CD ROM上,在軟盤上,或類似裝置上。可選擇或另外地,模型的數(shù)字表示也可以遠(yuǎn)程地存儲(chǔ),例如發(fā)送到其中它被存儲(chǔ)的計(jì)算機(jī)網(wǎng)絡(luò)的另一個(gè)計(jì)算機(jī)。例如,數(shù)字表示可以上載到web服務(wù)器,在該處可以使它適用于其它用戶。
下面將描述數(shù)字表示的優(yōu)選數(shù)據(jù)結(jié)構(gòu)。在步驟S3中,包括關(guān)于構(gòu)造步驟的記錄連續(xù)順序的存儲(chǔ)信息的數(shù)字表示由建造指令應(yīng)用程序從存儲(chǔ)介質(zhì)203加載。
在步驟S4中,建造指令應(yīng)用程序由加載的數(shù)字表示產(chǎn)生建造指令205。具體地說(shuō),建造指令應(yīng)用程序產(chǎn)生部分模型的一系列3D視圖,其中每個(gè)部分模型與緊前面部分模型區(qū)分開(kāi),因?yàn)轭A(yù)定數(shù)量的另外建造塊根據(jù)構(gòu)造步驟的存儲(chǔ)序列或根據(jù)由其導(dǎo)出的序列添加到模型上。下面參照?qǐng)D7至11描述建造指令過(guò)程的優(yōu)選實(shí)施例。建造指令205可以電子地呈現(xiàn)、打印、或以另一種適當(dāng)方式呈現(xiàn)。在某些實(shí)施例中,建造指令的產(chǎn)生可以由用戶204控制。例如,用戶可以選擇在每個(gè)步驟待添加的另外建造塊的數(shù)量。此外,用戶可以操縱產(chǎn)生的3D視圖,包括攝像機(jī)位置的變化、等等,如下面將描述的那樣。用戶204可以是與用戶202相同的或不同的用戶。
圖3表示虛擬建造塊系統(tǒng)的圖形用戶接口。用戶接口包括顯示區(qū)域301,該顯示區(qū)域301表示具有基礎(chǔ)板302的3D布景的視圖、和包括多個(gè)互連虛擬建造塊304的3D結(jié)構(gòu)303。布景由預(yù)定視點(diǎn)表示。在下面,這個(gè)視點(diǎn)也將稱作(虛擬)攝像機(jī)位置,因?yàn)樗c一個(gè)位置相對(duì)應(yīng),從該位置,攝像機(jī)記錄與在顯示區(qū)域中表示的圖形畫(huà)面相對(duì)應(yīng)的真實(shí)結(jié)構(gòu)的畫(huà)面。
建造塊304的每一個(gè)與圖形用戶接口的活動(dòng)元件相對(duì)應(yīng),該活動(dòng)元件可以例如通過(guò)用計(jì)算機(jī)鼠標(biāo)在它上面點(diǎn)擊而被致動(dòng),以選擇該建造塊。在一個(gè)實(shí)施例中,選擇的虛擬建造塊改變外觀。例如,選擇的建造塊可以改變顏色、織構(gòu)等等;它可以通過(guò)表示圍繞選擇建造塊的約束框等等而高亮。用戶可以操縱選擇的建造塊,例如改變其性質(zhì),例如其顏色;刪除它;進(jìn)行拷貝和粘貼操作;把它拖動(dòng)到不同位置;旋轉(zhuǎn)它;等等。
用戶接口還包括調(diào)色板面板305,該調(diào)色板面板305包括可以由用戶選擇的多個(gè)不同建造塊306。例如,用戶可以用鼠標(biāo)在建造塊306之一上點(diǎn)擊,由此選擇該建造塊,并且把選擇的建造塊拖動(dòng)到顯示區(qū)域301中,以把它連接到結(jié)構(gòu)303上或連接到基礎(chǔ)板302上。
用戶接口還包括菜單條307,該菜單條307包括用來(lái)致動(dòng)各種功能或工具的多個(gè)菜單按鈕308。例如,工具條可以包括用來(lái)改變虛擬攝像機(jī)位置的旋轉(zhuǎn)工具,由此允許用戶從不同方向觀看建造區(qū)域。菜單條還可以包括用來(lái)向/從3D布景縮放的縮放工具。工具的其它例子包括調(diào)色板工具,用來(lái)選擇不同的調(diào)色板305,每個(gè)調(diào)色板305包括不同組的建造塊;著色工具,用來(lái)著色結(jié)構(gòu)的部分;擦除工具,用來(lái)擦除建造塊;等等。
菜單條307還可以提供標(biāo)準(zhǔn)功能,如用來(lái)保存模型、打開(kāi)以前保存模型、打印模型的圖像的功能;幫助功能;等等。
圖4表明建造塊和其連接元件的例子。具體地說(shuō),圖4表示建造塊401的立體圖。建造塊401具有頂部表面402,該頂部表面402具有可與另一個(gè)建造塊的對(duì)應(yīng)孔,例如在另一個(gè)建造塊的底部表面上的孔,相接合的八個(gè)小丘403a-h。對(duì)應(yīng)地,建造塊401包括具有對(duì)應(yīng)孔的底部表面(未表示)。建造塊401還包括側(cè)正面404,該側(cè)正面404不包括任何連接元件。
一般地,連接元件可以分組成不同類別的連接元件,例如連接器、接收器、及混合元件。連接器是可以由另一個(gè)建造塊的接收器接收的連接元件,由此提供在建造塊之間的連接。例如,接收器可以配合在另一個(gè)元件的部分之間,配合到孔中,等等。接收器是可接收另一個(gè)建造塊的連接器的連接元件?;旌显强杉绕鸾邮掌饔制疬B接器作用的部分,典型地依賴于其它建造塊的合作連接元件的類型。
在圖4中表明的類型的建造塊在名稱LEGO下以各種各樣的形狀、尺寸、及顏色可得到。此外,這樣的建造塊以各種不同的連接元件可得到。要理解,以上建造塊僅用作可能建造塊的例子。
圖5表明用來(lái)數(shù)字表示建造塊模型的數(shù)據(jù)結(jié)構(gòu)的實(shí)施例。在虛擬建造塊模型的創(chuàng)建期間,建模應(yīng)用程序維持表示至今所述創(chuàng)建的模型的數(shù)據(jù)結(jié)構(gòu)。當(dāng)保存模型時(shí),保存對(duì)應(yīng)數(shù)據(jù)結(jié)構(gòu)。在一個(gè)實(shí)施例中,保存數(shù)據(jù)結(jié)構(gòu)501包括一個(gè)或多個(gè)數(shù)據(jù)記錄502,該數(shù)據(jù)記錄502包括涉及整個(gè)模型的全局模型參數(shù)。這樣的模型參數(shù)的例子包括模型名稱、模型創(chuàng)建者的姓名、建模應(yīng)用程序的程序版本號(hào)、創(chuàng)建數(shù)據(jù)、等等。模型數(shù)據(jù)結(jié)構(gòu)501包括還包括建造塊數(shù)據(jù)結(jié)構(gòu)的列表503。在圖5的例子中,列表包括N個(gè)數(shù)據(jù)結(jié)構(gòu)“建造塊1”、“建造塊2”、…、“建造塊J”、…、“建造塊N”。
列表503的每個(gè)建造塊數(shù)據(jù)記錄具有由用于“建造塊J”的數(shù)據(jù)結(jié)構(gòu)504表明的結(jié)構(gòu)。
具體地說(shuō),每個(gè)建造塊數(shù)據(jù)記錄包括建造塊ID 505,指示與建造塊的類型相對(duì)應(yīng)的標(biāo)識(shí)符。優(yōu)選地,建造塊ID獨(dú)特地標(biāo)識(shí)建造塊的性質(zhì)或建造塊的類型。
建造塊數(shù)據(jù)記錄還包括指示建造塊的一個(gè)或多個(gè)屬性,如顏色、織構(gòu)、裝飾、等等,的多個(gè)塊屬性506。
此外,建造塊數(shù)據(jù)記錄504包括分別表示建造塊的內(nèi)部坐標(biāo)系的位置和方位的數(shù)據(jù)項(xiàng)507和508。建造塊的位置和方位由建造塊相對(duì)于球“世界”坐標(biāo)系的內(nèi)部坐標(biāo)系的原點(diǎn)的坐標(biāo)定義,并且由內(nèi)部坐標(biāo)系相對(duì)于球坐標(biāo)系的方位定義。
用來(lái)存儲(chǔ)包括坐標(biāo)系的層次的虛擬建造模型的數(shù)據(jù)格式的例子公開(kāi)在美國(guó)專利no.6,389,375中。
此外,建造塊數(shù)據(jù)記錄504包括表示建造塊的一個(gè)或多個(gè)約束框和連接性數(shù)據(jù)的數(shù)據(jù)項(xiàng)509和510,分別用在建造塊與其它建造塊的連接性性質(zhì)的檢測(cè)上。在圖4中表示的建造塊類型的連接性數(shù)據(jù)的表示的實(shí)施例包括表示由建造塊的約束框的表面定義的平面的數(shù)據(jù)結(jié)構(gòu)。建造塊的連接元件布置在這些平面中,從而每個(gè)連接元件具有與它有關(guān)的軸線。在同一平面中的所有連接元件的軸線與規(guī)則網(wǎng)格,例如正交網(wǎng)格,的相應(yīng)網(wǎng)格點(diǎn)相對(duì)應(yīng),該網(wǎng)格在相鄰網(wǎng)格點(diǎn)之間具有固定距離。與圖4的建造塊401有關(guān)的平面成對(duì)地彼此平行,并且它們包括與建造塊的頂部和底部正面相對(duì)應(yīng)的一組水平平面、和與建造塊的側(cè)正面相對(duì)應(yīng)的多個(gè)豎直平面。優(yōu)選地,在相鄰網(wǎng)格點(diǎn)之間的距離在所有水平平面中都相同。在一個(gè)實(shí)施例中,在豎直平面中在相鄰網(wǎng)格點(diǎn)之間的距離與在水平平面中的相鄰網(wǎng)格點(diǎn)之間的距離不同。在圖4中表示的類型的建造塊的連接性性質(zhì)的數(shù)字表示和在虛擬模型產(chǎn)生期間的對(duì)應(yīng)連接性規(guī)則的加強(qiáng)公開(kāi)在WO 04/034333中,WO04/034333通過(guò)參考全部包括在這里。
要理解,數(shù)字表示可以以任何適當(dāng)數(shù)據(jù)或文件格式編碼,例如作為二進(jìn)制文件,作為根據(jù)預(yù)定建模描述語(yǔ)言的文本文件,等等。
在模型數(shù)據(jù)結(jié)構(gòu)的以上例子中,建造塊按它們的相應(yīng)放置的連續(xù)順序定序。所以建造塊1是放置在模型中的第一建造塊,并且建造塊N是最新放置的或重新定位的建造塊。每當(dāng)操縱模型時(shí),更新以上數(shù)據(jù)結(jié)構(gòu)。
這樣的操縱的例子包括-建造塊的屬性的變化,例如其顏色或外觀。這種變化不涉及建造塊的連續(xù)順序的變化。
-新建造塊的添加這種變化包括把新建造塊數(shù)據(jù)結(jié)構(gòu)附加到列表上,導(dǎo)致N+1建造塊的列表,其中建造塊N+1是新添加的建造塊。
-建造塊的刪除這種變化包括從列表除去建造塊數(shù)據(jù)記錄。
-建造塊的重新定位,例如建造塊到新位置的運(yùn)動(dòng),建造塊的方位的變化、或以上的組合這種變化涉及從其在列表中的當(dāng)前位置除去對(duì)應(yīng)建造塊數(shù)據(jù)結(jié)構(gòu)、和把在列表的末端處的數(shù)據(jù)記錄附加有對(duì)應(yīng)新位置和方位坐標(biāo)以及連接性數(shù)據(jù)的任何變化。
圖6表明用來(lái)數(shù)字表示建造塊模型的數(shù)據(jù)結(jié)構(gòu)的另一個(gè)實(shí)施例。這個(gè)實(shí)施例與圖5的數(shù)據(jù)結(jié)構(gòu)類似。然而,在這個(gè)實(shí)施例中,列表503的每個(gè)建造塊數(shù)據(jù)記錄包括以連接順序指示建造塊的位置的序列索引601,建造塊已經(jīng)按該連續(xù)順序添加到模型或已經(jīng)重新定位在模型內(nèi)。
圖7表明建造指令應(yīng)用程序的圖形用戶接口的實(shí)施例。圖形用戶接口包括表明一組分步建造指令的步驟的圖形表示的觀看區(qū)域701。圖形表示表明從預(yù)定攝像機(jī)位置表示的部分模型702的3D視圖。部分模型702包括完整模型的所有建造塊的子組,其中子組包括初始定位建造塊。觀看區(qū)域701還包括最新放置建造塊,即把當(dāng)前部分模型702與以前步驟的部分模型區(qū)分開(kāi)的建造塊,的圖形表示703。在這個(gè)例子中,這些是部分模型702的建造塊714、715、及716。
用戶接口還包括滑標(biāo)控制元件709,該滑標(biāo)控制元件709可以由借助于鼠標(biāo)的對(duì)應(yīng)拖動(dòng)操作以離散間隔運(yùn)動(dòng),允許用戶選擇分步指令的步驟的任一個(gè)。在圖7的例子中,在指令的每個(gè)步驟中添加三個(gè)新建造塊。
用戶接口還包括按鈕控制元件705,該按鈕控制元件705允許用戶調(diào)用多個(gè)頻繁使用的功能,如分別在向前和向后方向上連續(xù)地翻轉(zhuǎn)過(guò)圖形表示、跳到指令的第一和最后步驟、改變攝像機(jī)位置、打印產(chǎn)生的建造指令、及啟動(dòng)“自動(dòng)放影”功能。自動(dòng)放影功能一一顯示部分模型的序列,從而每個(gè)部分模型顯示預(yù)定時(shí)間段。優(yōu)選地,用戶可以配置在自動(dòng)放影功能中用于每個(gè)部分模型的觀看時(shí)間。
優(yōu)選地,在每個(gè)步驟中添加的建造塊的數(shù)量是可配置的。在圖7的例子中,假定該數(shù)量設(shè)置到3,即在建造指令的每個(gè)步驟中把三個(gè)建造塊添加到模型上。所以,第一部分模型包括記錄構(gòu)造步驟的連續(xù)順序的第一、第二、及第三建造塊,而第二部分模型包括第一、第二、第三、第四、第五及第六建造塊,等等。
最后,用戶接口包括多個(gè)下拉菜單704,允許用戶啟動(dòng)諸如幫助功能、用來(lái)改變攝像機(jī)位置的功能、縮放功能、等等之類的功能性。由建造指令應(yīng)用程序提供的另外功能性包括數(shù)字表示的加載;用來(lái)打印部分模型的圖形表示的打印功能;及用來(lái)例如以HTML格式、或任何其它適當(dāng)圖形文件格式,如TIF、JPG、BMP、等等,輸出部分模型的圖形表示的序列的輸出功能。
由建造指令應(yīng)用程序提供的功能的另外例子包括料單功能,允許用戶觀看或打印在模型中所有建造塊的列表。
圖8a-l表明建造塊模型的部分模型形成分步建造指令的圖形表示的典型序列。每個(gè)圖形表示在顯示區(qū)域801中表示,并且包括部分模型802的視圖和在當(dāng)前步驟中添加的建造塊803的視圖。同樣,在這個(gè)例子中,在每個(gè)步驟中添加三個(gè)建造塊。所以,圖8a表示連續(xù)順序的最初三個(gè)建造塊803的初始部分模型,即在模型創(chuàng)建期間添加到模型的最初三個(gè)建造塊。圖8b表明包括6個(gè)建造塊,即圖8a的三個(gè)建造塊和三個(gè)另外建造塊,的下個(gè)部分模型。圖8c至圖8k按分步指令的連續(xù)順序表示以后增量部分模型。最后,圖8l表示在添加最后三個(gè)建造塊之后的完成模型。要理解,在其中在模型中的建造塊的總數(shù)不是在每個(gè)步驟中添加的建造塊數(shù)量的倍數(shù)的情況下,在步驟之一中,例如在最后步驟中,添加不同數(shù)量的塊。
要理解,在某些實(shí)施例中,在用戶接口的觀看區(qū)域中可以同時(shí)顯示多于一個(gè)的部分模型。
圖9表明建造指令應(yīng)用程序的圖形用戶接口的觀看區(qū)域的另一個(gè)實(shí)施例。在這個(gè)實(shí)施例中,觀看區(qū)域701表示當(dāng)前部分模型702和按連續(xù)順序的建造塊903的序列,按該連續(xù)順序它們添加到模型上。與建造塊903的序列相鄰的滑標(biāo)控制元件904指示在序列中的當(dāng)前位置在顯示區(qū)域901中當(dāng)前顯示的部分模型902包括直到由當(dāng)前滑標(biāo)位置指示的建造塊913的所有建造塊。
通過(guò)上下運(yùn)動(dòng)滑標(biāo)控制元件904,用戶可選擇在觀看區(qū)域中觀看哪個(gè)部分模型。所以,在這個(gè)實(shí)施例中,每個(gè)增量部分模型僅與以前部分模型相差單塊磚。
圖10表明虛擬建造塊模型的一系列建造步驟的例子。圖10a-d表示在導(dǎo)致虛擬建造塊模型1010的建造步驟序列的不同步驟處的建模應(yīng)用程序,例如聯(lián)系圖3描述的建模應(yīng)用程序,的顯示區(qū)域1000。為了簡(jiǎn)單起見(jiàn),在這個(gè)例子中假定,建造塊模型僅由一種類型的建造塊創(chuàng)建,即聯(lián)系圖4描述的類型。圖10a表示在第一建造塊1001的放置之后的顯示區(qū)域。圖10b表示在第二建造塊1002部分放置在第二建造塊的頂部上之后的顯示區(qū)域,從而在第一建造塊1001的頂部表面上的小丘的一些與在第二建造塊1002的底部表面中的對(duì)應(yīng)凹腔接合。圖10c表示在第三建造塊1003放置之后的顯示區(qū)域,并且圖10d表示在第四建造塊1004放置之后的顯示區(qū)域。
應(yīng)該注意,在這個(gè)位置中第四建造塊1004的放置對(duì)于聯(lián)系圖4描述的類型的物理建造塊不首先除去塊1001或1003是不可能的,因?yàn)樵诮ㄔ靿K1001和1004的相應(yīng)頂部表面上的小丘防止在建造塊1001和1003之間的間隙中的建造塊1004的插入。在虛擬建模的某些實(shí)施例中,建造塊1004的定位可能仍然是允許的,因?yàn)樯晌恢檬怯行У?。一旦定位在間隙內(nèi),建造塊1001和1004的小丘就分別與建造塊1004和1003的對(duì)應(yīng)凹腔正確地接合。在虛擬建模應(yīng)用程序中允許這樣一種定位提供建造塊的更高效操縱,如在模型的中心處的建造塊的替換,而不需要取消大量其它建造步驟。
雖然如此,但當(dāng)產(chǎn)生用于物理模型的構(gòu)造的建造指令時(shí),可能希望的是,保證建造步驟的序列能夠按表示的順序進(jìn)行。
這個(gè)問(wèn)題通過(guò)根據(jù)導(dǎo)致導(dǎo)出序列的二次定序條件修改記錄建造步驟的序列而解決。在圖10的例子中的這樣一種二次條件的例子是建造塊的位置。例如,在球坐標(biāo)系1011的y-方向上的建造塊的坐標(biāo)可以用作二次分類標(biāo)準(zhǔn)。在圖10的全球坐標(biāo)系中的y-方向與從基礎(chǔ)板的豎直方向相對(duì)應(yīng),即與在彼此的頂部上的堆疊建造塊的自然方向相對(duì)應(yīng)。
由用于圖10的例子的建模應(yīng)用程序產(chǎn)生的建造塊數(shù)據(jù)記錄的列表具有如下連續(xù)順序
這里,建造塊的y-坐標(biāo)指示y1、y2、及y3,其中y1<y2<y3。
在一個(gè)實(shí)施例中,以上記錄連續(xù)順序通過(guò)根據(jù)它們的y-坐標(biāo)分類建造塊而修改。具有相等y-坐標(biāo)的建造塊按記錄的那樣保持它們的相對(duì)連續(xù)順序。
這種修改導(dǎo)致如下修改的序列
所以互換建造塊1003和1004。建造指令的對(duì)應(yīng)步驟表示在圖11a-d中,其中在每個(gè)步驟中添加另外建造塊。
圖11表明根據(jù)圖10的序列創(chuàng)建的虛擬建造塊模型的建造指令的實(shí)施例。具體地說(shuō),圖11a-d表示建造指令應(yīng)用程序的用戶接口的顯示區(qū)域1100,表示產(chǎn)生的分步建造指令的相應(yīng)步驟的部分模型。在圖11中的例子中,在建造指令中的步驟序列由聯(lián)系圖10描述的修改步驟序列產(chǎn)生。因而,圖11a表示具有指令序列的第一建造塊1101的初始部分模型。圖11b表示在指令序列的第二建造塊1102的添加之后的部分模型。圖11c表示在指令序列的第三建造塊1104的添加之后的部分模型。最后,圖11d表示在指令序列的第四建造塊1103的添加之后的完成模型。
權(quán)利要求
1.一種產(chǎn)生用于建造塊模型的建造指令的計(jì)算機(jī)實(shí)施方法,模型包括多個(gè)建造塊;該方法包括a)檢索建造塊模型的數(shù)字表示;其中,所述數(shù)字表示指示連續(xù)構(gòu)造順序,按該連續(xù)構(gòu)造順序,多個(gè)虛擬建造塊在計(jì)算機(jī)實(shí)施虛擬構(gòu)造過(guò)程期間響應(yīng)用戶命令已經(jīng)被定位,所述虛擬構(gòu)造過(guò)程產(chǎn)生虛擬建造塊模型;和b)產(chǎn)生所述多個(gè)虛擬建造塊的相應(yīng)第一和第二子組的至少第一和第二部分模型的圖形表示;其中,第二子組包括第一子組和所述多個(gè)虛擬建造塊的預(yù)定數(shù)量的另外虛擬建造塊;并且其中,另外虛擬建造塊關(guān)于從連續(xù)構(gòu)造順序?qū)С龅倪B續(xù)指令順序在第一子組中的所有虛擬建造塊之后。
2.根據(jù)權(quán)利要求
1所述的方法,其中,數(shù)字表示包括一系列數(shù)據(jù)記錄,每個(gè)代表多個(gè)建造塊之一;并且所述系列代表連續(xù)構(gòu)造順序,其中在模型產(chǎn)生期間虛擬建造塊被定位。
3.根據(jù)權(quán)利要求
1所述的方法,其中,數(shù)字表示包括多個(gè)數(shù)據(jù)記錄,每個(gè)代表多個(gè)建造塊之一;并且每個(gè)數(shù)據(jù)記錄包括指示在所述連續(xù)構(gòu)造順序中的對(duì)應(yīng)虛擬建造塊的位置的數(shù)據(jù)項(xiàng),按所述連續(xù)構(gòu)造順序,在模型產(chǎn)生期間虛擬建造塊被定位。
4.根據(jù)權(quán)利要求
1至3任一項(xiàng)所述的方法,其中,連續(xù)指令順序與連續(xù)構(gòu)造順序相同。
5.根據(jù)權(quán)利要求
1至3任一項(xiàng)所述的方法,還包括根據(jù)預(yù)定分類標(biāo)準(zhǔn)修改連續(xù)構(gòu)造順序以得到連續(xù)指令順序。
6.根據(jù)權(quán)利要求
5所述的方法,其中,數(shù)字表示包括虛擬建造塊的每一個(gè)相對(duì)于預(yù)定坐標(biāo)系的相應(yīng)位置坐標(biāo);并且所述分類標(biāo)準(zhǔn)包括沿至少一個(gè)預(yù)定方向的所述位置坐標(biāo)。
7.根據(jù)權(quán)利要求
1至6任一項(xiàng)所述的方法,還包括借助于用來(lái)交互地構(gòu)造虛擬建造塊模型的計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境而產(chǎn)生建造塊模型的數(shù)字表示,其中產(chǎn)生包括-彼此相對(duì)地把多個(gè)虛擬建造塊定位在相應(yīng)位置中,導(dǎo)致虛擬建造塊模型,其中虛擬建造塊響應(yīng)用戶命令按連續(xù)構(gòu)造順序定位;-存儲(chǔ)包括關(guān)于所述連續(xù)構(gòu)造順序的信息的所述虛擬建造塊模型的數(shù)字表示。
8.根據(jù)權(quán)利要求
7所述的方法,其中,計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境配置成加強(qiáng)相對(duì)于彼此施加在建造塊的位置上的預(yù)定組限制。
9.根據(jù)權(quán)利要求
8所述的方法,其中,計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境配置成檢索虛擬建造塊的對(duì)應(yīng)連接元件的連接性信息,該信息指示彼此預(yù)定靠近定位的兩個(gè)建造塊的連接元件是否提供在兩個(gè)建造塊之間的連接。
10.根據(jù)權(quán)利要求
1至9任一項(xiàng)所述的方法,其中,第一和第二子組的每一個(gè)由存儲(chǔ)的連續(xù)指令順序構(gòu)成虛擬建造塊的不間斷部分序列。
11.根據(jù)權(quán)利要求
1至10任一項(xiàng)所述的方法,其中,產(chǎn)生圖形表示包括產(chǎn)生部分模型的對(duì)應(yīng)序列的圖形表示序列,部分模型包括初始部分模型、增量部分模型序列、及完成模型;其中增量部分模型的每一個(gè)包括序列的緊前面增量部分模型的所有虛擬建造塊、和來(lái)自多個(gè)建造塊的預(yù)定數(shù)量的另外虛擬建造塊;及其中完成模型包括所有多個(gè)虛擬建造塊。
12.根據(jù)權(quán)利要求
1至11任一項(xiàng)所述的方法,還包括提供有利于產(chǎn)生圖形表示的用戶控制操縱的用戶接口。
13.根據(jù)權(quán)利要求
12所述的方法,其中,用戶接口提供操作縮放和旋轉(zhuǎn)中的至少一個(gè)。
14.根據(jù)權(quán)利要求
12或13所述的方法,其中,用戶接口提供用來(lái)觀看產(chǎn)生的圖形表示的選擇表示的功能性。
15.根據(jù)權(quán)利要求
14所述的方法,其中,用戶接口提供用來(lái)觀看部分模型的圖形表示序列的功能性,其中每個(gè)圖形表示在自動(dòng)顯示下個(gè)圖形表示之前,顯示預(yù)定時(shí)間段。
16.根據(jù)權(quán)利要求
12至15任一項(xiàng)所述的方法,其中,用戶接口還提供用來(lái)打印至少一個(gè)圖形表示和以預(yù)定文件格式存儲(chǔ)至少一個(gè)圖形表示中的至少一個(gè)的功能性。
17.根據(jù)權(quán)利要求
1至16任一項(xiàng)所述的方法,其中,預(yù)定數(shù)量是用戶可選擇的。
18.根據(jù)權(quán)利要求
1至17任一項(xiàng)所述的方法,其中,預(yù)定數(shù)量在1與6之間,優(yōu)選地在2與4之間。
19.根據(jù)權(quán)利要求
1至18任一項(xiàng)所述的方法,還包括與另外建造塊的圖形表示一起呈現(xiàn)模型的第二圖形表示,該另外建造塊把第二部分模型與第一部分模型區(qū)分開(kāi)。
20.一種數(shù)據(jù)處理系統(tǒng),已經(jīng)在其上存儲(chǔ)程序代碼裝置,當(dāng)所述程序代碼裝置在數(shù)據(jù)處理系統(tǒng)上執(zhí)行時(shí),該程序代碼裝置適于使數(shù)據(jù)處理系統(tǒng)完成根據(jù)權(quán)利要求
1至19任一項(xiàng)所述的方法的步驟。
21.一種計(jì)算機(jī)程序產(chǎn)品,包括程序代碼裝置,當(dāng)所述程序代碼裝置在數(shù)據(jù)處理系統(tǒng)上執(zhí)行時(shí),該程序代碼裝置適于使數(shù)據(jù)處理系統(tǒng)完成根據(jù)權(quán)利要求
1至19任一項(xiàng)所述的方法的步驟。
22.根據(jù)權(quán)利要求
21所述的計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)在其上已經(jīng)存儲(chǔ)程序代碼裝置。
23.根據(jù)權(quán)利要求
19或20所述的計(jì)算機(jī)程序產(chǎn)品,包括第一軟件部分,用來(lái)執(zhí)行根據(jù)權(quán)利要求
1至19任一項(xiàng)所述的方法的步驟a)和b);和第二軟件部分,用來(lái)借助于用來(lái)交互構(gòu)造虛擬建造塊模型的計(jì)算機(jī)實(shí)施構(gòu)造環(huán)境,執(zhí)行產(chǎn)生建造塊模型的數(shù)字表示的步驟。
24.一種以載波和指令的表示序列實(shí)施的計(jì)算機(jī)數(shù)據(jù)信號(hào),該信號(hào)在由處理器執(zhí)行時(shí),使處理器執(zhí)行根據(jù)權(quán)利要求
1至19任一項(xiàng)所述的方法的步驟。
專利摘要
一種產(chǎn)生用于建造塊模型的建造指令的計(jì)算機(jī)實(shí)施方法,包括檢索建造塊模型的數(shù)字表示;其中,所述數(shù)字表示指示連續(xù)構(gòu)造順序,按該連續(xù)構(gòu)造順序,多個(gè)虛擬建造塊在計(jì)算機(jī)實(shí)施虛擬構(gòu)造過(guò)程期間響應(yīng)用戶命令已經(jīng)定位,所述虛擬構(gòu)造過(guò)程產(chǎn)生虛擬建造塊模型;和產(chǎn)生所述多個(gè)虛擬建造塊的相應(yīng)第一和第二子組的至少第一和第二部分模型的圖形表示;其中,第二子組包括第一子組和所述多個(gè)虛擬建造塊的預(yù)定數(shù)量的另外虛擬建造塊;并且其中,另外虛擬建造塊關(guān)于從連續(xù)構(gòu)造順序?qū)С龅倪B續(xù)指令順序在第一子組中的所有虛擬建造塊之后。
文檔編號(hào)G06T17/40GK1993712SQ20058002572
公開(kāi)日2007年7月4日 申請(qǐng)日期2005年6月16日
發(fā)明者馬丁·普魯斯 申請(qǐng)人:英特萊格公司導(dǎo)出引文BiBTeX, EndNote, RefMan