用于將二維圖像應(yīng)用在三維模型上的設(shè)備和方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種用于將二維圖像應(yīng)用在三維模型上的設(shè)備和方法。更具體地但不是排他地,本發(fā)明涉及將標(biāo)簽應(yīng)用在三維模型上。
【背景技術(shù)】
[0002]在產(chǎn)品開發(fā)中,產(chǎn)品的外觀是市場(chǎng)策略的一個(gè)重要部分。因此,開發(fā)者通常使用計(jì)算機(jī)編輯套裝設(shè)計(jì)他們的包裝。在一些工業(yè)中,用于產(chǎn)品的容器被單獨(dú)制造成商標(biāo)材料,并且該商標(biāo)材料隨后固定到容器上。這例如在飲料工業(yè)中是慣例,在飲料工業(yè)中,瓶子被制造成容納產(chǎn)品,并且標(biāo)簽被單獨(dú)生產(chǎn)且應(yīng)用于瓶子。
[0003]單獨(dú)的計(jì)算機(jī)編輯套裝存在用于制造標(biāo)簽和制造瓶子模型。為了目測(cè)瓶子上的標(biāo)簽,模型的UV映射生成且標(biāo)簽作為紋理來施加。這在計(jì)算機(jī)操作上是昂貴的且還需要大量用戶干預(yù)來確保標(biāo)簽被正確地應(yīng)用。這會(huì)導(dǎo)致計(jì)算機(jī)明顯延遲將標(biāo)簽施加到模型上。因此,由于該處理要求超過可獲得的處理能力,標(biāo)簽不能放置在瓶子上且實(shí)時(shí)移動(dòng)。因此,需要減輕上述問題中的一些或者全部。
【發(fā)明內(nèi)容】
[0004]根據(jù)本發(fā)明的第一方面,提供一種將二維圖像應(yīng)用到三維模型的方法,所述三維模型由具有多個(gè)頂點(diǎn)的多邊形網(wǎng)格構(gòu)成,所述方法包括以下步驟:識(shí)別與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)的第一點(diǎn);識(shí)別與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)且鄰近第一點(diǎn)的第二點(diǎn);計(jì)算第二點(diǎn)與第一點(diǎn)之間的空間數(shù)據(jù);重復(fù)識(shí)別連續(xù)的點(diǎn),其中每一個(gè)連續(xù)的點(diǎn)與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)且鄰近前一個(gè)識(shí)別的點(diǎn),并且計(jì)算每一個(gè)連續(xù)的點(diǎn)與前一個(gè)識(shí)別的點(diǎn)之間的空間數(shù)據(jù),直到識(shí)別停止點(diǎn)為止,所述停止點(diǎn)為二維圖像的邊界外的點(diǎn);將所述點(diǎn)和空間數(shù)據(jù)變換成UV坐標(biāo);和利用UV坐標(biāo)將二維圖像應(yīng)用到三維模型。
[0005]本發(fā)明提供一種可以對(duì)三維模型的與應(yīng)用二維圖像的區(qū)域相對(duì)應(yīng)的特定區(qū)域提取UV坐標(biāo)的方法。因此,由于不執(zhí)行UV映射整體模型的傳統(tǒng)步驟,施加二維圖像所需的計(jì)算能力明顯降低。
[0006]在適于執(zhí)行本發(fā)明的方法的計(jì)算設(shè)備上,使用者因此可以選擇三維模型上的一個(gè)區(qū)域中的第一點(diǎn)來施加二維圖像,并且處理器從該區(qū)域提取空間數(shù)據(jù),直到識(shí)別模型上的距離第一點(diǎn)的距離大于從中心到二維圖像的邊界的距離的點(diǎn)為止。由于所需的處理能力已經(jīng)明顯降低,因此二維圖像可以被應(yīng)用于三維模型并實(shí)時(shí)顯示在計(jì)算設(shè)備的顯示裝置上。這還允許使用者橫過三維模型‘拖拉’ 二維圖像,即選擇模型上的連續(xù)的第一點(diǎn),并且處理器可以即時(shí)將二維圖像應(yīng)用到模型。
[0007]所述方法可以還包括由多個(gè)三維模型生成單個(gè)三維模型以形成膜片的步驟,其中第一點(diǎn)在膜片上。本發(fā)明因此可以將二維圖像應(yīng)用到封裝模型的膜片。膜片可以包含三維模型的大多數(shù)或者所有頂點(diǎn),或者在多個(gè)三維模型的情況下,每一個(gè)顯示復(fù)雜產(chǎn)品的各個(gè)部件,膜片可以包含每一個(gè)三維模型的大多數(shù)或者所有頂點(diǎn)。
[0008]所述方法還可以包括將平滑技術(shù)應(yīng)用到膜片的步驟。因此,膜片上的任何曲率的突變(例如由于膜片中的間隙造成)可以被消除。因此,二維圖像可以接著以真實(shí)方式應(yīng)用。例如,在標(biāo)簽被應(yīng)用到三維模型的情況下,標(biāo)簽可以應(yīng)用到模型以使標(biāo)簽以與真實(shí)情況相似的方式通過間隙。
[0009]—種計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可執(zhí)行代碼,該計(jì)算機(jī)可執(zhí)行代碼當(dāng)在計(jì)算機(jī)上運(yùn)行時(shí)可以使計(jì)算機(jī)執(zhí)行本發(fā)明第一方面的方法。
[0010]根據(jù)本發(fā)明的第二方面,提供一種包括處理器的計(jì)算設(shè)備,所述處理器被布置成將二維圖像應(yīng)用到三維模型,所述三維模型由具有多個(gè)頂點(diǎn)的多邊形網(wǎng)格構(gòu)成,所述處理器構(gòu)造用于:識(shí)別與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)的第一點(diǎn);識(shí)別與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)且鄰近第一點(diǎn)的第二點(diǎn);計(jì)算第二點(diǎn)與第一點(diǎn)之間的空間數(shù)據(jù);重復(fù)識(shí)別連續(xù)的點(diǎn),其中每一個(gè)連續(xù)的點(diǎn)與多個(gè)頂點(diǎn)中的一個(gè)頂點(diǎn)相對(duì)應(yīng)且鄰近前一個(gè)識(shí)別的點(diǎn),并且計(jì)算每一個(gè)連續(xù)的點(diǎn)與前一個(gè)識(shí)別的點(diǎn)之間的空間數(shù)據(jù),直到識(shí)別停止點(diǎn)為止,所述停止點(diǎn)距離第一點(diǎn)的距離大于從外邊緣到二維圖像的邊界的距離;將所述點(diǎn)和空間數(shù)據(jù)變換成UV坐標(biāo);和利用UV坐標(biāo)將二維圖像應(yīng)用到三維模型。
[0011]計(jì)算設(shè)備可以還包括顯示裝置,其中處理器被構(gòu)造成使顯示裝置顯示包括施加的二維圖像的三維模型。
【附圖說明】
[0012]以下將僅通過實(shí)例及參照【附圖說明】本發(fā)明的實(shí)施例,其中:
[0013]圖1是顯示本發(fā)明的方法的一個(gè)實(shí)施例的流程圖;
[0014]以及
[0015]圖2是顯示被構(gòu)造成執(zhí)行圖1的方法的步驟的計(jì)算設(shè)備的示意圖。
【具體實(shí)施方式】
[0016]現(xiàn)在將參照?qǐng)D1說明在虛擬環(huán)境中將二維圖像應(yīng)用到三維模型的方法的一個(gè)實(shí)施例。所述實(shí)施例將詳細(xì)說明將標(biāo)簽(二維圖像)放置到瓶子(三維模型)上的一個(gè)示例,但是回顧以下說明,本領(lǐng)域技術(shù)人員將會(huì)明白所述方法可以應(yīng)用到放置在三維模型上的任何類型的二維圖像。
[0017]對(duì)于初始步驟,生成表示標(biāo)簽的第一圖像文件。第一圖像文件可以在例如為AdobeIllustrator的適當(dāng)?shù)膱D形編輯計(jì)算機(jī)程序中生成,并且由表示標(biāo)簽的二維圖像構(gòu)成(且在下文中應(yīng)該稱為“標(biāo)簽”)。在本實(shí)施例中,標(biāo)簽為矩形且包括由裁剪線包封的圖形部分。
[0018]對(duì)于進(jìn)一步的初始步驟,生成表示瓶子的第一模型文件。第一模型文件可以在例如為3DS Max或者AutoCAD的任何適當(dāng)?shù)娜S建模軟件中生成。第一模型文件由三角形網(wǎng)格限定的瓶子的三維圖像組成(且在下文中應(yīng)該稱為“瓶子”)。本領(lǐng)域的技術(shù)人員將會(huì)明白所述三角形網(wǎng)格表示瓶子的外表面且為非UV映射的模型。
[0019]三角形網(wǎng)格用于生成一組數(shù)據(jù),該組數(shù)據(jù)記錄所述網(wǎng)格內(nèi)的所有三角形的相鄰信息,在一個(gè)實(shí)施例中,諸如半邊緣數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)可以被使用。這允許網(wǎng)格的橫越從網(wǎng)格上的單個(gè)點(diǎn)開始。這被注記為由具有相鄰信息的一組三角形構(gòu)成的膜片。
[0020]如以下更詳細(xì)地說明,多個(gè)三角形網(wǎng)格可以合并在一起(例如,一個(gè)三角形網(wǎng)格表示瓶子,而另一個(gè)三角形網(wǎng)格表示瓶蓋)。
[0021]在本實(shí)施例中,生成包括蓋和瓶子構(gòu)成的形狀的單個(gè)膜片,這通過以包含蓋和瓶子的簡單形狀開始且接著該簡單形狀收縮成瓶子和蓋結(jié)合的形狀來獲得。該單個(gè)網(wǎng)格接著用于生成膜片,所述膜片用于將2D標(biāo)簽放置在瓶子和蓋上。
[0022]在本實(shí)施例中,‘平滑’操作應(yīng)用于膜片??梢允褂酶鞣N平滑技術(shù),例如拉普拉斯(Laplacian)多邊形平滑方法(然而,本領(lǐng)域的技術(shù)人員將會(huì)明白也可以使用其它平滑技術(shù))。該技術(shù)確保膜片精密地遵循標(biāo)簽將施加到的真實(shí)表面。例如,如果瓶子含有小間隙,則膜片可以被平滑以使所述膜片在不改變曲率的情況下通過間隙。這由于真實(shí)的標(biāo)簽在不需要改變曲率的情況下精密地簡單地通過間隙,精密地表示真實(shí)標(biāo)簽將如何施加到真實(shí)的瓶子上。
[0023]標(biāo)簽接著使用以下算法應(yīng)用到膜片。作為第一步驟,起始參考點(diǎn)作為標(biāo)簽的中心。碰撞程序用于將標(biāo)簽的中心與三角形網(wǎng)格上的初始撞擊點(diǎn)相關(guān)聯(lián)。初始撞擊點(diǎn)可以為三角形網(wǎng)格上的任意點(diǎn)。
[0024]在算法的下一個(gè)步驟(如圖1中所示)中選擇包含膜片上的起始點(diǎn)的三角形。所述起始點(diǎn)被確定為膜片上的與三角形網(wǎng)格上的初始撞擊點(diǎn)最接近的點(diǎn)。該點(diǎn)(水平和垂直)與起始三角形中的三個(gè)頂點(diǎn)中的每一個(gè)之間的距離被計(jì)算且儲(chǔ)存,接著三個(gè)相鄰的三角形中的每一個(gè)被增加給一組要處理的三角形。接著以以下方式采用重復(fù)過程。對(duì)三角形列中的每一個(gè)三角形計(jì)算到起始點(diǎn)的距離是已知的頂點(diǎn)與其距離仍然要計(jì)算的頂點(diǎn)之間的距離并儲(chǔ)存該距離。該距離使用短程線技術(shù)計(jì)算。檢查三角形的其余兩個(gè)邊緣是否三角形的2D坐標(biāo)與二維標(biāo)簽的邊界矩形相交。如果邊緣相交