新四季網

混合隱藏線處理器和方法

2023-12-08 04:54:46

混合隱藏線處理器和方法
【專利摘要】一種用於提供針對多個多邊形的混合隱藏線處理的方法,所述多邊形表示曲面細分的圖像數據,其中每個多邊形包括多條邊。該方法包括:生成(506)背面板和正面板,其中,背面板包括位於曲面細分的圖像數據的輪廓的背面側上的多邊形,正面板包括位於曲面細分的圖像數據的輪廓的正面側上的多邊形;追蹤(514)邊並且識別被追蹤的邊的子集中的每條被追蹤的邊的至少一個可見性改變像素;針對每個可見性改變像素,確定(522)被追蹤的邊是否來自與對應於可見性改變像素的多邊形相同的板;針對被確定為來自與對應於可見性改變像素的多邊形相同的板的每個被追蹤的邊,顯示(532)被追蹤的邊。
【專利說明】混合隱藏線處理器和方法
[0001]本發明涉及根據獨立權利要求的、用於提供針對多個多邊形的混合隱藏線處理(hybrid hidden-line processing)的方法、產品數據管理數據處理系統以及計算機可讀介質。

【背景技術】
[0002]本公開內容總體上涉及用於管理產品和其它物品的數據的計算機輔助設計、可視化及製造系統、產品生命周期管理(「PLM」)系統以及類似系統(統稱為「產品數據管理」系統或者PDM系統)。傳統的計算機圖形顯示系統使用各種類型的處理來生成三維物體的二維圖像。


【發明內容】

[0003]各種公開的實施方式包括系統、方法以及計算機可讀介質。公開了一種用於提供針對表示曲面細分的圖像數據(tessellated image data)的多個多邊形的混合隱藏線處理的方法,其中每個多邊形包括多條邊。該方法包括生成背面板和正面板,其中,背面板包括位於曲面細分的圖像數據的輪廓的背面側上的多邊形,正面板包括位於曲面細分的圖像數據的輪廓的正面側上的多邊形。該方法包括追蹤邊並且識別被追蹤的邊的子集中的每條被追蹤的邊的至少一個可見性改變像素。該方法包括:針對每個可見性改變像素,確定被追蹤的邊是否來自與對應於可見性改變像素的多邊形相同的板。該方法包括:針對被確定為來自對應於可見性改變像素的多邊形相同的板的每個被追蹤的邊,顯示該被追蹤的邊。
[0004]以上非常寬泛地概述了本公開內容的特徵和技術優點,以使得本領域的普通技術人員能夠較好地理解下述【具體實施方式】。在下文中,將描述構成權利要求的主題的本公開內容的其它特徵及優點。本領域的普通技術人員將會理解:他們可以容易地以所公開的構思和【具體實施方式】為基礎來修改或設計用於實現與本公開內容相同目的的其它系統。本領域的普通技術人員還將會認識到:這樣的等同結構不會脫離本公開內容的最寬泛形式的精神和範圍。
[0005]在描述下面的「【具體實施方式】」之前,對本專利文獻全文中使用的某些詞或短語的定義進行說明將是有利的:術語「包括」和「包含」及其派生詞表示包括但不限於此;術語「或」是包括性的,表示「和/或」;短語「與…相關聯」和「與其相關聯」及其派生詞可以表示包括、被包括在…內、與…互連、包含、包含在…內、連接到或與…連接、耦接到或與…耦接、可與…通信、與…配合、交錯、並置、接近、縛接到或與…縛接、具有、具有…的性能等;術語「控制器」表示用於控制至少一個操作的任何裝置、系統或其部件,而不管該裝置是以硬體、固件、軟體還是以它們中的至少兩個的組合實施的。應當注意,與任何特定的控制器相關聯的功能無論是本地的還是遠程的,均可以是集中式的或分布式的。在本專利文獻全文中,提供了對某些詞和短語的定義,但本【技術領域】的普通技術人員將會理解:在許多(即便不是大部分)情況下,這樣的定義應用在這樣定義的詞和短語的當前以及將來的使用中。儘管一些術語可以包括各種各樣的實施方式,但是所附權利要求可以將這些術語特別地限制於【具體實施方式】。

【專利附圖】

【附圖說明】
[0006]為了更透徹地理解本公開內容及其優點,現在參照結合附圖的以下描述,在附圖中,相同的附圖標記表示相同的物體,並且在附圖中:
[0007]圖1示出了根據本公開內容的、可以實現混合隱藏線處理器的數據處理系統的框圖;
[0008]圖2A至圖2G示出了可以由根據本公開內容的圖1的數據處理系統處理的各種圖像的示例;
[0009]圖3示出了根據本公開內容的圖1的數據處理系統的一部分;
[0010]圖4示出了根據本公開內容的圖3的混合隱藏線處理器和存儲器的細節;以及
[0011]圖5是示出了根據本公開內容的用於提供混合隱藏線處理的方法的流程圖。

【具體實施方式】
[0012]在本專利文獻中,下述圖1?圖5及用於描述本公開內容的原理的各種實施方式僅是為了說明,而不應當被認為以任何方式來限制本公開內容的範圍。本領域的普通技術人員將會理解,本公開內容的原理可以以任何合適設置的設備來實施。將參照示例性的非限制性實施方式來描述本申請的各種創新性教示。
[0013]生成三維物體的二維圖像時常見的問題涉及識別並且消除隱藏線(即用戶可能不想顯示的線,這是因為這些線由於視角原因和/或由於被場景中的其它物體所遮擋而將呈現為隱藏的)。通常,用於識別隱藏線的方法是圖像空間算法或者物體空間算法。然而,這些技術中的每一個都存在缺點。
[0014]圖像空間處理包括使用深度緩衝器或者Z緩衝器,其將屏幕劃分成像素並基於像素執行可見性處理。如果在像素位置處存在不止一個物體,則在生成顯示時,將會使用與最接近觀看者的物體的部分相關的數據,從而隱藏圖像在該像素處遠離觀看者的任何部分。使用圖像空間處理導致相對快速的圖像生成。然而,與該處理相關聯的精度低於很多應用所期望的精度。
[0015]與圖像空間處理相比,諸如使用小平面(facetted)或圖像數據的精確數學表示的物體空間處理提供更高的精度。然而,對於創建相對大的組件(例如整個汽車、輪船等)的繪圖的用戶而言,物體空間技術可能需要太多的時間來顯示圖像以及太大的存儲佔用量。通常,特定技術提供的精度越高,則圖像生成越慢,並且與該技術相關聯的存儲佔用量越大。
[0016]因此,例如,Z緩衝器可以在視圖上限定固定的解析度(例如X方向上1000個像素並且I方向上1000個像素)。可以對待顯示圖像進行曲面細分,即通過生成表示物體的多邊形的連接網或小平面來提供物體的任何曲面的平面近似。將多邊形和邊掃描到Z緩衝器中。掃描後的像素中的每個像素的「獲勝者(winner)」對應於隱藏線圖像。隨著模型的尺寸增加,Z緩衝器算法具有線性特性(S卩,它是η階系統)。Z緩衝器由於其階數而總的來說為最快類型的隱藏線處理器。另外,隨著多邊形的數目增加,多邊形的存儲需求是固定的,並且隨著邊的數目增加,邊的存儲需求是線性的。
[0017]然而,Z緩衝器技術的精度受限於視圖上設置的像素的數目(例如,在較大的組件上,1000個像素相對較小)。這表現為在生成圖像上的過衝(overshoots)和下衝(undershoots)?此外,所有的坐標都被四捨五入為整數以映射到Z緩衝器像素。該四捨五入可能導致Z緩衝器坐標的退化以及相關聯的可見性缺陷。另外,難以從Z緩衝器提取邊,並且需要折線或曲線輸出來繪製作品(creat1n)和注釋。
[0018]使用物體空間技術的小平面隱藏線處理器(facetted hidden-line processor)通常需要將所有的小平面的邊線段與模型中所有的其它小平面的邊線段相交。這會產生一系列的邊碎片(edge pieces),每個邊碎片具有一個可見性。然後,通過拓撲學、光線投射或者其它幾何測試來確定每個邊碎片的可見性。物體空間算法嘗試將相交候選和ray fire候選的數目限制到儘可能小的數目。
[0019]物體空間、小平面隱藏線處理器相對於精確隱藏線處理器的優點包括只需要進行小平面的邊線段之間的相交而不需要進行精確曲線之間的相交。線段是兩條線,因而其相交相對較快。此外,可見性改變點的精度受限於曲面細分公差(例如,1.0e-03或者1.0e-04個模型單位),這與從Z緩衝器獲得相比,導致更準確的圖像。最後,邊易於放置在繪圖中(即,邊是隱藏線處理器直接輸出的)。
[0020]然而,任何物體空間算法的階數為η2。因而,儘管能夠相對容易地獲得小平面算法的每次相交,但是該算法的階數最終會佔主導,使得該技術遠慢於Z緩衝器算法。另外,雖然所有技術都嘗試對相交候選的數目η進行限制,但是技術的階數保持為η2。此外,當邊被放置在繪圖中時這些邊呈現小平面。同樣,當小平面的數目增加時,小平面的存儲需求是線性的,並且當邊的數目增加時,邊的存儲需求是線性的。
[0021]也使用物體空間技術的精確隱藏線處理器通常需要將所有的精確邊與模型中的所有其它精確邊相交。這會產生一系列的邊碎片,每個邊碎片具有一個可見性。然後,通過拓撲學、光線投射或者其它幾何測試來確定每個邊碎片的可見性。精確物體空間算法嘗試將相交候選和ray fire候選的數目限制到儘可能小的數目。
[0022]精確物體空間隱藏線處理器的優點包括提供針對可見性改變點的精度,該精度受限於建模公差(例如,1.0e-05或者1.0e-06個模型單位),與從Z緩衝器或者與物體空間小平面技術獲得的精度相比,這導致更準確的圖像。另外,邊和其精確曲線易於放置在繪圖中(即,它們是隱藏線處理器直接輸出的)。最後,由於使用精確曲線來生成繪圖,因此與實際生活類似地,邊呈現為光滑的且精確的。
[0023]然而,兩條精確邊之間的相交是兩條一般曲線之間的相交,所以較之兩條直線之間的相交相對較慢。另外,精確物體空間算法的階數為η2。結果,由於每個相交都相當耗時,以及由於最終會佔主導的算法的階數為η2,因此精確算法比Z緩衝器算法或小平面算法要慢得多。另外,雖然所有的技術都嘗試對相交候選的數目η進行限制,但是技術的階數仍然為η2。此外,表面的存儲需求相對於表面的數目是線性的,但是在需要的存儲量中,每個表面可能相對昂貴。最後,當邊的數目增加時,邊的存儲需求是線性的。
[0024]為了克服傳統的隱藏線處理算法的限制,近來開發了一種隱藏線處理器,該隱藏線處理器以小平面算法的方式使線段邊相交,但是與使所有的邊相交不同,只使得特定的邊相交。通過使用Z緩衝器來識別待相交的邊。因此,提供了接近小平面算法級別的精度,同時提供了接近Z緩衝器算法級別的速度。這項被稱為快速隱藏線處理器的技術基於小平面模型。然而,使用軟體Z緩衝器來存儲多邊形。該技術提供線性性能(即階數η)。
[0025]對於快速隱藏線處理,多邊形掃描轉換包括:在多邊形的邊是外部邊的一部分的情況下,對像素加注釋。獲勝的邊和多邊形信息被存儲在Z緩衝器中。通過軟體Z緩衝器對邊的可見性進行追蹤。該處理具有線性性能(即階數n)。Z緩衝器追蹤通過查看當前邊變成消隱的位置處的像素,來對可能會隱藏被追蹤的邊的任何外部邊進行識別。這使得快速隱藏線處理器能夠以線性性能識別所有的邊相交,而不是如同由傳統的物體空間小平面隱藏線處理器所需求的那樣以η2性能識別。在確定像素的可見性之後,使用在像素處的獲勝的邊來進一步將可見性改變點細化成曲面細分的精度(例如,邊線段、邊線段相交)。
[0026]快速隱藏線處理器的優點包括在線性時間內識別待相交的邊(S卩,基於邊的數目,時間是恆定的)。這與需要η2性能來識別所有相交(S卩,每條邊與其它的每條邊的相交)的大多數物體空間隱藏線處理器不同。另外,由於該技術的級數以及使用軟體Z緩衝器作為其核心處理器的事實,該技術是相對快速執行的技術。當多邊形的數目增加時,多邊形的存儲需求是恆定的,並且進行的相交是在小平面的邊線段之間,即兩條線之間的相交。此外,通過Z緩衝器檢測可見性改變點的位置,並且只進行可見性改變處的相交。最後,可見性改變點的精度受限於曲面細分公差(例如,1.0e-03或1.0e-04個模型單位),這與從Z緩衝器得到的結果相比更加精確,並且邊易於放置在繪圖上(即,它們是隱藏線處理器直接輸出的)。
[0027]然而,利用快速隱藏線處理器進行的相交清理具有與邊和輪廓相關的限制。由於不準確的Z深度多邊形掃描轉換以及勝過多邊形的外部邊的多邊形的內部,邊經常不能贏得它們應該贏得的像素。此外,由於這種技術根據標準小平面處理技術追隨多邊形的邊界,因此利用這種技術生成的輪廓通常不準確。
[0028]圖1示出了根據本公開內容的、可以實現混合隱藏線處理器的數據處理系統100的框圖。對於一些實施方式,數據處理系統100可以被實現為具體由軟體配置的PDM系統,或者可以被實現為進行如本文中所描述的處理。對於具體的實施方式,數據處理系統100可以實現為如本文中所描述的多個互連的並且通信的系統中的每個系統。圖1中示出的數據處理系統100包括耦接至兩級高速緩存/橋104的處理器102,該兩級高速緩存/橋104耦接至本地系統總線106。本地系統總線106可以是例如外圍部件互連(PCI)體系結構總線。在描繪的示例中,主存儲器108和圖形適配器110也耦接至本地系統總線。圖形適配器110可以耦接至顯示器111。
[0029]其它外圍設備(例如區域網(LAN) /廣域網(WAN) /無線(例如W1-Fi)適配器112)也可以耦接至本地系統總線106。擴展總線接口 114可以將本地系統總線106耦接至輸入/輸出(I/O)總線116。I/O總線116可以耦接至鍵盤/滑鼠適配器118、盤控制器120以及I/O適配器122。盤控制器120可以耦接至存儲裝置126,存儲裝置126可以是任何適合的機器可用的或機器可讀的存儲介質,該存儲介質包括但不限於(i )非易失性硬編碼型的介質,例如只讀存儲器(ROM)或者電可擦除可編程只讀存儲器(EEPROM); (ii)磁帶存儲設備;(iii)用戶可記錄型介質,例如軟盤、硬碟驅動器、只讀光碟存儲器(⑶-ROM)或數字多功能盤(DVD)以及(iv)其它已知光的、電的或磁的存儲設備。
[0030]在示出的示例中,I/O總線116還可以耦接至音頻適配器124,音頻適配器124可以耦接至揚聲器(圖1中未示出)以播放聲音。鍵盤/滑鼠適配器118可以耦接至指示設備(圖1中未示出),例如滑鼠、軌跡球、追蹤指示器等。
[0031]本領域的普通技術人員將會理解,圖1中描繪的硬體可以根據具體實現而改變。例如,也可以附加地或者代替所描繪的硬體而使用其它外圍設備,如光碟驅動器等。僅出於說明的目的而提供所描繪的示例,而並非對本公開內容的體系結構的限制。
[0032]數據處理系統100包括採用圖形用戶界面的作業系統。該作業系統允許在圖形用戶界面中同時呈現多個顯不窗口,每個顯不窗口為不同的應用提供界面,或者為同一應用的不同實例提供界面。用戶可以經由指示設備來操縱圖形用戶界面中的光標。
[0033]如果經過適當的修改,可以採用各種商業作業系統之一,例如位於美國華盛頓州的雷德蒙德市的微軟公司(Microsoft Corporat1n)的產品,S卩微軟Windows (註冊商標)版本。可以根據所描述的本公開內容來修改或者創建該作業系統。
[0034]LAN/WAN/無線適配器112可以耦接至網絡130 (其不是數據處理系統100的一部分),網絡130可以是任何公用或私用的數據處理系統網絡或者網絡的組合(包括網際網路)。數據處理系統100可以通過網絡130與伺服器系統140通信(伺服器140也不是數據處理系統100的一部分)。對於一些實施方式,伺服器系統140可以被實現為單獨的數據處理系統。
[0035]根據本公開內容的一個實施方式,數據處理系統100可以提供混合隱藏線處理以生成待發送至顯示器111的圖像。如同在下文中結合圖3至圖5更詳細地描述的那樣,可以通過基於Z緩衝器技術識別相對小的數目的待相交(例如在小平面技術中進行的相交)的邊來處理圖像。從而,提供與Z緩衝器算法的速度類似的速度,並提供與小平面算法的精度類似的精度。另外,對於一些實施方式,可以將精確邊而不是小平面的邊相交,從而導致精度類似於精確算法的精度而速度類似於Z緩衝器算法的速度。
[0036]使用下文中描述的混合隱藏線處理,由於多邊形掃描轉換並且由於多邊形的外部邊勝過多邊形的內部,邊贏得它們應當贏得的像素。另外,不是基於多邊形的邊而是根據頂點法線來生成輪廓。從而,輪廓可以穿過多邊形的中部,並且比沿著多邊形的邊界而生成的輪廓更準確。
[0037]圖2A至圖2G示出了可以由根據本公開內容的數據處理系統100處理的各種圖像的示例。這些示例簡單地示出了在本公開內容中使用的各種項目。圖2A示出了用於在二維顯示器(例如圖1的顯示器111)上顯示三維圖像的處理。二維顯示器可以對應於由X軸和y軸限定的平面。示出的示例包括錐體202和方塊204。實線表示可以顯示的線,而虛線表示不可以出現在錐體202和方塊204的二維顯示中的隱藏線。從而,如圖所示,從觀看者直視由X軸和I軸限定的平面的角度來看,方塊204部分地遮擋了錐體202的、方塊204在錐體202前方的一部分。作為這些類型的線的示例,標出了一條可見線208和一條隱藏線210。
[0038]例如,當處理錐體202的三維圖像以在二維屏幕上顯示時,可以對錐體202進行曲面細分以生成曲面細分的錐體220,如圖2B所示。這樣,為了開始處理圖像以進行顯示,可以通過大量的多邊形或小平面來近似錐體202的曲面。為了簡單起見,圖2B中示出的曲面細分的錐體220不包括錐體220的背面的隱藏線。然而,在曲面細分的錐體220中示出了被圖2A的方塊204隱藏的線。同樣,為了簡單起見,沒有以曲面細分的形式示出方塊204。
[0039]在本示例中,標出了錐體220的一個輪廓222。該輪廓222與正面多邊形和背面多邊形共有的邊相對應。因此,輪廓222不是物體(即錐體202)真實的邊;然而,從x-y透視圖來看,輪廓222將對於錐體202的觀看者表現為可見線。如同在下文中將詳細描述的那樣,應該理解的是,很多圖像的真實的精確輪廓將會穿過多邊形(已知為輪廓多邊形),而不是恰好沿著正面多邊形與背面多邊形之間的邊。
[0040]在圖2B示出的示例中還標出了一個外部邊224。該邊224為可見邊,如實線所示。隱藏的輪廓線段226和隱藏的外部邊228分別以虛線示出。還標出了內部邊230。應該理解的是,雖然將內部邊示為實線,但是不可以顯示內部邊,這是因為它們對應於構成曲面細分的物體的多邊形的邊,因而並不對應於該物體的實際的或可見的邊。
[0041]圖2C示出了曲面細分的錐體220的一部分以及遮擋了錐體220的一部分的曲面細分的方塊240的一部分。為了簡單起見,在本圖中省略了內部邊。如同在下文中將詳細描述的那樣,在多邊形掃描轉換期間,對外部邊進行識別。例如,對方塊240的外部邊242進行了識別。在多邊形掃描轉換之後,通過Z緩衝器追蹤每條外部邊以搜索可見性改變像素。從而,對於示出的示例,可以追蹤錐體220的邊244,直到該邊224在可見性改變像素246處變為消隱為止。然後,混合隱藏線處理器可以回想起先前識別的外部邊242在可見性改變像素246處存在。然後,混合隱藏線處理器執行被追蹤的邊244與外部邊242的相交,以識別可見性改變點248。從而,如圖2C所示以及如同在下文中將詳細描述的那樣,可見性改變像素246包括邊可以變成消隱的位置處的像素(板保護可能導致邊實際上沒有被隱藏),並且可見性改變點248為邊未變成消隱的位置處的點。可見性改變像素246不如可見性改變點248精確;然而,應該理解的是,示出的實施方式顯示了像素246與點248的解析度之間的可能放大的差異。
[0042]圖2D示出了三維錐體250。為了示出當前實現的隱藏線處理技術中潛在的問題,示出了與錐體250的一部分相交的平面252。平面252與錐體250的相交產生了錐體250的圓形的橫截面254。以下可以使用與位於輪廓前側上的面的小片相對應的正面板256以及與位於輪廓後側上的面的小片相對應的背面板258,來提供板保護。圖2E示出了曲面細分的橫截面260,曲面細分的橫截面260表示由多邊形曲面細分近似的圖2D的圓形橫截面254。
[0043]圖2E示出了用於改進混合隱藏線處理器中的Z緩衝器追蹤的精度的技術。在本示例中,一個多邊形的外部邊上的點268與相鄰多邊形的內部邊上的點270具有相同的X和y Z緩衝器坐標。從而,如果使用標準處理,則與點268相比,點270將會贏得該像素,這是因為點270具有比點268更大的z值。然而,由於點268在外部邊上,因此點268將會贏得像素。因此,如同在下文中將詳細描述的那樣,混合隱藏線處理器提供板保護,以確保外部邊上的點268顯示在內部邊上的點270上。
[0044]圖2F與圖2G示出了還可以如何為雙曲表面(例如表面278與280)提供附加的板保護。對於示出的示例,表面278具有外部邊282,並且表面278和280 二者均具有輪廓284和板折線(plate-break line) 286。對於雙曲表面,輪廓284不能完全地限定正面板與背面板之間的邊界。這樣,可以針對這些表面278和280識別輪廓尖端點288,並且使用輪廓尖端點288來生成進一步限定板之間的邊界的附加的板折線286。
[0045]圖3示出了根據本公開內容的數據處理系統100的一部分300。應該理解的是,數據處理系統100是可以實現圖3中示出的部件的一種類型的系統的示例,並且在不脫離本公開內容的範圍的情況下,可以在任何其它合適地布置的圖像生成系統中實現這些部件。
[0046]對於示出的實施方式,部分300包括曲面細分單元302、存儲器304、混合隱藏線處理器306以及顯示器308。對於一些實施方式,可以使用通用處理器(例如圖1中的處理器102)來實現曲面細分單元302和/或混合隱藏線處理器306。可以耦接至存儲器304的曲面細分單元302能夠接收表示要顯示的三維物體的圖像數據。對於一些實施方式,曲面細分單元302可能能夠經由路徑310檢索來自存儲器304的圖像數據。對於一些實施方式,曲面細分單元302可以接收來自數據處理系統100的其它部件(圖3中未示出)的圖像數據。
[0047]曲面細分單元302能夠對精確圖像數據進行曲面細分,以生成曲面細分的圖像數據。曲面細分的圖像數據包括能夠識別構成待顯示的物體的曲面細分的版本的多個多邊形或者小平面的數據。例如,對於一些實施方式,曲面細分的圖像數據可以包括構成曲面細分的圖像的多個三角形或其它多邊形的頂點的每個頂點的坐標。
[0048]對於一些實施方式,曲面細分單元302能夠經由路徑312向混合隱藏線處理器306提供曲面細分的圖像數據。然而,對於其它實施方式,曲面細分單元302能夠經由路徑310將曲面細分的圖像數據存儲在存儲器304中,並且能夠經由路徑312提供就緒信號,來提醒混合隱藏線處理器306在存儲器304中存在曲面細分的圖像數據。
[0049]耦接至曲面細分單元302和存儲器304的混合隱藏線處理器306能夠接收來自曲面細分單元302的曲面細分的圖像數據或就緒信號。對於曲面細分的圖像數據存儲在存儲器304中的實施方式,混合隱藏線處理器306能夠基於就緒信號從存儲器304檢索曲面細分的圖像數據。然而,應該理解的是,本文中使用的「接收」曲面細分的圖像數據包括被動地接收數據以及主動地檢索數據。
[0050]在接收到曲面細分的圖像數據之後,混合隱藏線處理器306能夠識別由曲面細分的圖像數據表示的多邊形的邊,並且能夠選擇邊的子集以基於Z緩衝器算法進行相交。如同將在下文中結合圖4和圖5詳細描述的那樣,混合隱藏線處理器306能夠沿著多邊形的邊識別可見性改變像素,並且能夠將那些邊與也在可見性改變像素處的任何外部邊相交,以確定外部邊上的可見性改變點。混合隱藏線處理器306還能夠基於頂點法線來生成準確的輪廓,能夠進行關於Z緩衝器的準確Z深度多邊形掃描轉換,並且能夠提供對於外部邊和輪廓的板保護。在進行該隱藏線處理時,混合隱藏線處理器306能夠基於曲面細分的圖像數據相對快速並且相對準確地生成顯示數據。
[0051]耦接至混合隱藏線處理器306的顯示器308能夠經由路徑316接收來自混合隱藏線處理器306的顯示數據,並且能夠向數據處理系統100的用戶顯示基於該顯示數據的處理後的圖像。在另一實施方式中,混合隱藏線處理器可以向繪圖儀發送圖像數據,以創建硬拷貝紙質繪圖。
[0052]圖4示出了根據本公開內容的混合隱藏線處理器306和存儲器304的細節。對於一些實施方式,可以使用通用處理器(例如圖1中的處理器102)來實現混合隱藏線處理器306。對於示出的實施方式,混合隱藏線處理器306包括輪廓生成器402、板生成器404、多邊形掃描轉換器406、Z緩衝器分割器408、可見性追蹤器410、板保護器412、邊相交器414以及可選的精確邊跟蹤器416。另外,存儲器304包括多邊形420、邊422、板424、Z緩衝器426以及可選的精確邊428。
[0053]雖然為了簡單起見,將將混合隱藏線處理器306的部件402、404、406、408、410、412,414以及416示出或描述為分立的部件,但是應該理解,在不脫離本公開內容的範圍的情況下,可以將其中的任意兩個或更多個部件一起實現為單個部件。另外,在一些實施方式中,部件402、404、406、408、410、412、414以及416中的任何一個部件可以被實現為兩個或更多個部件。另外,下列描述假設在曲面細分的圖像數據中呈現的多邊形為三角形。然而,應該理解,在不脫離本公開內容的範圍的情況下,曲面細分的圖像數據可以表示其它類型的多邊形。
[0054]輪廓生成器402能夠基於由曲面細分的圖像數據表示的多邊形420的頂點的頂點法線準確地生成輪廓。在多邊形法線與視向量的點積為零處產生輪廓點。如果點在背面多邊形上,則點積為負,而如果點在正面多邊形上,則點積為正。這樣,輪廓生成器402能夠針對每個多邊形420在多邊形三個頂點中的每個頂點處執行輪廓函數(即,法線與視向量的點積),以生成輪廓。
[0055]輪廓生成器402能夠基於輪廓函數確定多邊形是正面多邊形還是背面多邊形。如果輪廓生成器402確定針對三角形三個頂點中的每個頂點的輪廓函數均為負,則輪廓生成器402將該多邊形識別為背面多邊形。因而,針對該多邊形不存在輪廓。輪廓生成器402還能夠在存儲器304的多邊形420部中將該多邊形標記為背面多邊形。
[0056]類似地,如果輪廓生成器402確定針對三角形三個頂點中的每個頂點的輪廓函數均為正,則輪廓生成器402將該多邊形識別為正面多邊形。因而,針對該多邊形不存在輪廓。輪廓生成器402還能夠在存儲器304的多邊形420部中將該多邊形標記為正面多邊形。
[0057]然而,如果輪廓生成器402確定三角形的輪廓函數是混合的,即,針對三角形三個頂點之一的至少一個輪廓函數為負且針對三角形三個頂點之一的至少一個輪廓函數為正,則輪廓生成器402將該多邊形識別為輪廓多邊形。在這種情況下,輪廓生成器402能夠沿著每條多邊形邊進行線性插值以識別真正的輪廓點。然而,由於針對頂點中的兩個頂點的輪廓函數將會具有相同的符號,因此在連接這兩個頂點的邊上不存在輪廓點。因此,輪廓生成器402可以沿著該三角形的另外兩條邊進行線性插值。該處理識別出該三角形中的兩個輪廓點。然後,輪廓生成器402能夠通過連接這兩個輪廓點來形成輪廓線段。當輪廓生成器402完成輪廓線段形成之後,輪廓生成器402能夠將根據不同的三角形形成的輪廓線段耦接在一起以生成輪廓邊,並且將輪廓邊存儲在存儲器304的邊422部中。
[0058]對於一些實施方式,輪廓生成器402能夠生成精確輪廓邊。例如,對於特定類型的面,輪廓的精確類型是已知的(例如,球體的輪廓為圓)。對於這些類型的面,輪廓生成器402可能能夠將正確類型的精確曲線擬合到曲面細分的輪廓。對於其它表面類型,輪廓生成器402可能能夠通過曲面細分的輪廓點來擬合三次B樣條,以生成精確輪廓曲線。
[0059]對於雙曲表面(例如圖2F與圖2G的表面278和280),輪廓生成器402還能夠識別這些表面的任何輪廓尖端點,並且能夠基於這些輪廓尖端點生成板折線。
[0060]板生成器404能夠生成正面板和背面板,例如圖2D中示出的正面板256和背面板258。對於一些實施方式,板生成器404能夠基於輪廓生成器402在存儲器304的多邊形420部中對正面多邊形的識別來生成正面板,並且能夠基於輪廓生成器402在存儲器304的多邊形420部中對背面多邊形的識別來生成背面板。從而,對於一些實施方式,板生成器404能夠通過將每個正面多邊形添加到存儲器304的板424部中存儲的正面板來生成正面板,並且能夠通過將每個背面多邊形添加到存儲器304的板424部中存儲的背面板來生成背面板。對於其它實施方式,板生成器404能夠通過將每個正面多邊形添加到存儲器304的板424部中存儲的板來生成正面板,並且能夠通過不將每個背面多邊形添加到板424中存儲的板來生成背面板。從而,對於這些實施方式,不存在來自存儲器304的板424部的多邊形表示該多邊形來自背面板。對於雙曲表面(例如圖2F與圖2G中示出的表面278和280),板生成器404還能夠基於由輪廓生成器402生成的板折線來生成板。
[0061]多邊形掃描轉換器406能夠將由曲面細分的圖像數據表示的多邊形或多變形420掃描轉換到Z緩衝器426中。對於一些實施方式,多邊形掃描轉換器406能夠提供質心掃描轉換,以在Z緩衝器可見性映射中生成連續函數。在掃描轉換期間,多邊形掃描轉換器406還能夠識別正被掃描轉換的多邊形420的外部邊。對於一些實施方式,多邊形掃描轉換器406能夠通過將作為外部邊或輪廓邊的一部分的像素標記為屬於外部邊,來將外部邊標識存儲在Z緩衝器426中。
[0062]Z緩衝器分割器408能夠將多邊形420的分界存儲在Z緩衝器426的板424中。因此,Z緩衝器分割器408能夠基於由板生成器404生成的板424將Z緩衝器426分割成單獨的區域或板,該單獨的區域或板對應於輪廓的同側上的面的小片。
[0063]如果追蹤的邊表現為變成消隱的,則可見性追蹤器410能夠通過Z緩衝器426來追蹤每條邊並且識別可見性改變像素,例如圖2C中示出的可見性改變像素246。對於一些實施方式,可見性追蹤器410可以通過Z緩衝器426對邊進行步進來確定被追蹤的邊在何處表現為變成消隱的。在步進處理期間,可見性追蹤器410將被追蹤的邊表現為變成消隱的位置處的像素識別成可見性改變像素。
[0064]然後,板保護器412能夠進行板保護。對於一些實施方式,板保護器412可以通過確定被追蹤的邊是否在來自相同的板的像素後面來進行板保護。如果板保護器412確定被追蹤的邊在來自相同的板的像素後面,則該被追蹤的邊沒有被隱藏。從而,如果邊和多邊形來自相同的板,則無論Z值如何多邊形都不隱藏該邊。
[0065]如果邊實際上被隱藏,即,板保護器412基於板保護沒有確定該邊應該可見,則邊相交器414能夠檢查存儲器304的Z緩衝器426部以確定可見性改變像素是否包含在多邊形掃描轉換期間先前標識的外部邊。如果可見性改變像素包含外部邊,則邊相交器414能夠從存儲器422的邊部分提取外部邊,並且將由可見性追蹤器410追蹤的邊與識別為與可見性改變像素對應的外部邊進行邊相交。對於一些實施方式,邊相交器414能夠將精確邊相交。例如,邊相交器414能夠將非均勻有理B樣條(NURBS)曲線與NURBS曲線相交而不是簡單地將線段與線段相交。
[0066]對於混合隱藏線處理器306包括精確邊跟蹤器416的一些實施方式,精確邊跟蹤器416能夠用存儲在存儲器304的精確邊428部中的精確邊信息代替小平面的邊的信息。從而,精確邊跟蹤器416能夠用精確邊代替每個多邊形的各小平面的邊,以提供更準確的顯示數據。混合隱藏線處理器306能夠基於上述處理生成顯示器308的顯示數據。
[0067]對於一些實施方式,與用精確邊428簡單代替小平面的邊相比,可以更直接地實現從小平面到精確圖像的轉換。對於這些實施方式,精確邊跟蹤器416能夠基於小平面輪廓在精確表面的投影將小平面輪廓轉換成精確輪廓,為了實現此目的,可以將小平面輪廓的端點投影到其關聯的精確邊428上。可以將小平面輪廓的內部點投影到下面的精確表面上。
[0068]另外,精確邊跟蹤器416能夠根據下面的精確表面的類型來將精確曲線擬合到投影點。例如,對於平面來說不存在輪廓。對於柱體和錐體來說,沿著輪廓沒有使用內部點。相反,使用了被投影到精確邊上的輪廓的兩個端點,並且在這兩個端點之間生成了線。對於球體來說,通過投影的曲面細分的輪廓點生成圓弧。對於其它表面類型來說,可以通過投影的曲面細分的輪廓點來生成三次B樣條曲線。在每個類型的曲線擬合期間,曲線的端點被保持在該端點所連接的精確邊上。
[0069]此外,對於這些實施方式,可以將可見性改變點從小平面轉換成精確。對於這些實施方式中的一些實施方式,這種轉換使用牛頓一拉夫森步進算法(Newton Raphsonstepping algorithm)來求解兩條精確曲線上的可見性改變點的位置。針對第一個可見性改變點,它被明確地移到精確邊的起始處。針對每個內部可見性改變點,將當前可見性改變點投影到當前邊上,以獲得起始細化值。將匹配的可見性改變點投影到投影坐標空間中的匹配邊上以獲得t值。執行牛頓一拉夫森步進函數以細化2D中的可見性改變點。該細化的可見性改變點被用作可見性改變點。沿著邊緩衝可見性改變點的列表。
[0070]圖5是示出根據本公開內容的用於提供混合隱藏線處理的方法500的流程圖,該方法可以由本文中公開的一個或更多個PDM數據處理系統執行。方法500開始於混合隱藏線處理器306接收曲面細分的圖像數據(步驟502)。對於一些實施方式,混合隱藏線處理器接收來自曲面細分單元302的曲面細分的圖像數據。對於其它實施方式,混合隱藏線處理器306可以從存儲器304檢索曲面細分的圖像數據。例如,混合隱藏線處理器306可以從存儲器304的多邊形420部檢索曲面細分的圖像數據。以下描述假設多邊形420為三角形。然而,可以理解的是,在不脫離本公開內容的範圍的情況下,曲面細分的圖像數據可以表示其它類型的多邊形。
[0071]輪廓生成器402標記多邊形420,同時基於多邊形420的頂點的頂點法線生成輪廓(步驟504)。例如,輪廓生成器402可以在每個多邊形420的三個多邊形頂點中的每個頂點處執行輪廓函數,即法線與視向量的點積。如果針對三角形的三個頂點中的每個頂點輪廓函數均為負,則輪廓生成器402將該多邊形識別為背面多邊形,並且將該多邊形本身標記在存儲器304的多邊形420部中。如果針對三角形的三個頂點中的每個頂點輪廓函數均為正,則輪廓生成器402將該多邊形識別為正面多邊形,並且將該多邊形本身標記在存儲器304的多邊形420部中。對於背面多邊形和正面多邊形二者都不存在輪廓。
[0072]然而,如果輪廓生成器402確定三角形的輪廓函數是混合的,則輪廓生成器402沿著每條多邊形邊進行線性插值,以識別兩個真正的輪廓點並且通過連接這兩個輪廓點來形成輪廓線段。由於頂點中的兩個頂點的輪廓函數將會具有相同的符號,因此在連接這兩個點的邊上不存在輪廓點。因而,輪廓生成器402可以沿著其它兩條邊進行線性插值,以識別真正的輪廓點。然後,輪廓生成器402將輪廓線段耦接在一起以生成輪廓邊,並且將該輪廓邊存儲在存儲器304的邊422部中。
[0073]對於一些實施方式,輪廓生成器402通過針對已知類型的面將正確類型的精確曲線擬合到曲面細分的輪廓,以及針對未知類型的面通過曲面細分的輪廓點來擬合三次B樣條,來生成精確輪廓邊。對於雙曲表面(例如圖2F與圖2G的表面278和280),輪廓生成器402可以識別表面的任何輪廓尖端點並且基於該輪廓尖端點生成板折線。
[0074]板生成器404生成板,板包括在輪廓的同側上的面的小片(步驟506)。對於一些實施方式,板生成器404能夠通過將由輪廓生成器402標記的每個正面多邊形420添加到正面板來生成正面板,並且能夠通過將由輪廓生成器402標記的每個背面多邊形420添加到背面板來生成背面板。對於雙曲表面(例如圖2F與圖2G的表面278和280),板生成器404可以基於由輪廓生成器402生成的板折線來生成板。
[0075]多邊形掃描轉換器406將由曲面細分的圖像數據表示的多邊形或多邊形420掃描轉換到Z緩衝器426中(步驟508)。對於一些實施方式,多邊形掃描轉換器406進行質心掃描轉換,以在Z緩衝器可見性映射中生成連續函數。在掃描轉換期間,多邊形掃描轉換器406識別多邊形420的外部邊和輪廓邊,並且將作為這些邊的一部分的像素標識為屬於存儲器304的Z緩衝器426部中的外部邊(步驟510)。
[0076]Z緩衝器分割器408基於由板生成器404生成的板424將Z緩衝器426分割成單獨的區域或者板(步驟512)。可見性追蹤器410開始通過Z緩衝器426追蹤邊的可見性(步驟514)。如果可見性追蹤器410完成對邊的追蹤而被追蹤的邊沒有表現為變成消隱的(步驟516),則可見性追蹤器410選擇下一條待追蹤的邊(步驟518)並且開始新的可見性追蹤(步驟514)。
[0077]然而,如果可見性追蹤器410確定被追蹤的邊表現為變成消隱的(步驟516),則可見性追蹤器410識別可見性改變像素,即,被追蹤的邊表現為變成消隱的位置處的像素(步驟520)。板保護器412進行板保護,以通過驗證被追蹤的邊實際上是否是隱藏的來確保輪廓和邊在多邊形上是優選的。板保護器412通過確定被追蹤的邊是否在來自相同的板的像素後面(即,被追蹤的邊和可見性改變像素二者都來自正面板或者二者都來自背面板)來進行該驗證(步驟522)。
[0078]如果板保護器412確定被追蹤的邊在來自相同的板的像素後面(步驟522),則板保護器412確定被追蹤的邊實際上不是被隱藏的,並且應該被顯示。因而,如果邊和多邊形來自相同的板,則該多邊形不隱藏該邊。然後,可見性追蹤器410繼續追蹤邊而不將邊隱藏到先前識別的可見性改變像素後面(步驟514)。然而,如果板保護器412確定被追蹤的邊在來自不同的板的像素後面(步驟522),則邊相交器414對可見性改變像素是不是外部邊的一部分做出確定(步驟524)。如果邊相交器414確定如同在步驟510中由多邊形掃描轉換器406所標識的那樣,可見性改變像素不是外部邊的一部分(步驟524),則可見性追蹤器410簡單地將該邊標識為在該像素位置處是隱藏的,然後繼續追蹤邊(步驟514)。
[0079]然而,如果邊相交器414確定如同在步驟510中由多邊形掃描轉換器406所標識的那樣,可能性改變像素是外部邊的一部分(步驟524),則邊相交器414將被追蹤的邊與可見性改變像素是其一部分的外部邊進行相交,以識別可見性改變點(步驟526)。對於一些實施方式,邊相交器414能夠使小平面的邊(即線段)相交。對於其它實施方式,邊相交器414能夠使精確邊(例如NURBS曲線)相交。
[0080]對於混合隱藏線處理器306包括精確邊跟蹤器416的實施方式,如果需要的話,精確邊跟蹤器416可以用存儲在存儲器304的精確邊428部中的精確邊信息代替多邊形的邊的信息(可選步驟528)。
[0081]如果還剩餘其它邊要追蹤(步驟530),則選擇下一條邊(步驟518),並且可見性追蹤器410開始追蹤下一條邊(步驟514)。然而,當沒有剩餘邊要追蹤時(步驟530),混合隱藏線處理器306基於上述處理技術生成顯示器308的顯示數據,並且顯示器308基於顯示數據顯示經處理的圖像(步驟532)。將可以理解的是,混合隱藏線處理器306可以在追蹤邊的同時生成顯示器308的顯示數據,而不是等到追蹤了所有的邊為止才生成顯示數據。
[0082]以這種方式,提供了更準確且更快速的隱藏線處理技術。例如,板保護的實現確保了邊(包括輪廓邊)不被多邊形的內部所隱藏。沒有被隱藏的邊可以用於進行次要誤差清理。根據頂點法線生成準確輪廓,並且與基於多邊形的邊生成的不準確輪廓相比,準確輪廓可以實際上穿過多邊形的中部。另外,與Z緩衝器步進相比,當實現質心掃描轉換時,提供了更準確的多邊形掃描轉換。最後,針對提供精確細化的實施方式,可以根據小平面輪廓和已知的精確表面類型來生成精確輪廓,並且可以用精確邊相交來代替線段相交,以提供更準確的結果。
[0083]本領域的普通技術人員應該理解,除非特別指出或對操作的順序有要求,上述處理中的某些步驟可以被省略、組合、同時或順序執行,或者按不同的順序執行。可以在本公開內容的範圍內對上述不同的示例性實施方式的處理和要素進行組合。
[0084]本領域的普通技術人員將會認識到,為了簡單和清楚起見,適於與本公開內容一起使用的所有數據處理系統的完整結構和操作將不在此處進行描繪或描述。而是,只對這麼多數據處理系統為本公開內容是特有的或為本公開內容的理解是必要的內容進行描繪和描述。數據處理系統100的其它結構和操作可以遵循本領域已知的各種當前的實施和實踐中的任一種。
[0085]重要的是,儘管本公開內容包括了在全功能系統情況下的描述,但是本領域的普通技術人員將會理解的是,本公開內容的機制的至少一部分能夠以以任何形式包含在機器可用、計算機可用或計算機可讀介質中的指令的形式進行分布;還要注意的是,本公開內容均進行同樣的應用,而不管用於實際執行該分布的指令或信號承載介質或存儲介質的特定類型如何。機器可用/可讀或計算機可用/可讀介質包括:非易失性硬編碼型介質,如只讀存儲器(ROM)或電可擦除可編程只讀存儲器(EEPROM);以及用戶可記錄型介質,如軟盤、硬碟驅動器和只讀光碟存儲器(⑶-ROM)或數字多功能磁碟(DVD)。
[0086]所使用的附圖標記、詞彙的列表
[0087]100 數據處理系統
[0088]102 處理器
[0089]104 高速緩存/橋
[0090]106 本地系統總線
[0091]108 主存儲器
[0092]110 圖形適配器
[0093]111 顯示器
[0094]112 區域網/廣域網/無線適配器
[0095]114 擴展總線接口
[0096]116 輸入/輸出總線;
[0097]118 鍵盤/滑鼠適配器
[0098]120 盤控制器
[0099]122 I/O 適配器
[0100]124 音頻適配器
[0101]130 網絡
[0102]140 伺服器系統
[0103]202錐體
[0104]204方塊
[0105]208可見線
[0106]210隱藏線
[0107]220曲面細分的錐體
[0108]222輪廓
[0109]224可見的外部邊
[0110]226隱藏的輪廓線段
[0111]228隱藏的外部邊
[0112]230內部邊
[0113]240曲面細分的方塊
[0114]242外部邊
[0115]244邊、被追蹤的邊
[0116]246可見性改變像素
[0117]248可見性改變點
[0118]250三維錐體
[0119]252平面
[0120]254圓形橫截面
[0121]256正面板
[0122]258背面板
[0123]260曲面細分的橫截面
[0124]268點、外部邊的點
[0125]270點、內部邊的點
[0126]278表面
[0127]280表面
[0128]282外部邊
[0129]284輪廓
[0130]286板折線
[0131]288輪廓尖端點
[0132]300數據處理系統100的一部分
[0133]302曲面細分單元
[0134]304存儲器
[0135]306隱藏線處理器、混合隱藏線處理器
[0136]308顯示器
[0137]310路徑
[0138]312路徑
[0139]314
[0140]316路徑
[0141]402輪廓生成器
[0142]404板生成器
[0143]406多邊形掃描轉換器
[0144]408Z緩衝器分割器
[0145]410可見性追蹤器
[0146]412板保護器
[0147]414邊相交器
[0148]416精確邊跟蹤器
[0149]420多邊形部分
[0150]422邊部分
[0151]424板部分
[0152]426Z 緩衝器
[0153]428精確邊部分
[0154]500方法
[0155]502接收曲面細分的圖像數據
[0156]504標記多邊形並且生成輪廓
[0157]506生成板
[0158]508進行多邊形掃描轉換
[0159]510標識外部邊上的像素
[0160]512基於板對Z緩衝器進行分割
[0161]514追蹤邊的可見性
[0162]516被追蹤的邊的表現為變成消隱的?
[0163]518選擇下一條邊
[0164]520識別可見性改變像素
[0165]522可見性改變像素來自與被追蹤的邊相同的板?
[0166]524可見性改變像素是外部邊的一部分?
[0167]526將被追蹤的邊與外部邊進行相交,以識別可見性改變點
[0168]528使用精確邊來轉換成精確模型
[0169]530另外的邊?
[0170]532顯示經處理的圖像
[0171]ASIC專用集成電路
[0172]CAD計算機輔助設計
[0173]I/O輸入/輸出
[0174]LAN區域網
[0175]PCI外圍部件互連
[0176]PDM產品數據管理
[0177]PLM產品生命周期管理
[0178]WAN廣域網
【權利要求】
1.一種由產品數據管理數據處理系統(100)執行的、用於提供針對表示曲面細分的圖像數據的多個多邊形(420)的混合隱藏線處理的方法,每個多邊形(420)包括多條邊(422),所述方法包括: 由輪廓生成器(402)識別(504)背面板和正面板,其中,所述背面板包括位於所述曲面細分的圖像數據的輪廓的背面側上的多邊形(420),所述正面板包括位於所述曲面細分的圖像數據的輪廓的正面側上的多邊形; 在存儲器(304)中標記(506)識別出的面板的多邊形(402)本身; 執行(508) Z深度多邊形(402)掃描轉換,識別所述多邊形(420)的外部邊和輪廓邊,以及將轉換後的且識別出的數據存儲到Z緩衝器(426)中; 對所述Z緩衝器(426)中的作為外部邊的一部分的像素進行標識(510); 追蹤(514)所述邊; 識別(520)被追蹤的邊的子集中的每條被追蹤的邊的至少一個可見性改變像素; 針對每個可見性改變像素,確定(522)所述被追蹤的邊是否來自與對應於所述可見性改變像素的多邊形相同的板;以及 針對被確定為(524)來自與對應於所述可見性改變像素的多邊形相同的板的每條被追蹤的邊,顯示(532)該被追蹤的邊。
2.根據權利要求1所述的方法,其中,所述邊的至少一個子集中的每個子集包括外部邊和內部邊之一,所述方法還包括: 針對被追蹤的邊的子集中的、被確定為(524)與對應於所述可見性改變像素的多邊形相比來自不同的板的每條被追蹤的邊,識別對應於所述可見性改變像素的外部邊;以及針對每條識別出的外部邊,使被追蹤的邊與該外部邊相交(526),以識別可見性改變點。
3.根據權利要求2所述的方法,其中,使被追蹤的邊與該外部邊相交(526)包括:使第一線段與第二線段相交。
4.根據權利要求2所述的方法,其中,使被追蹤的邊與該外部邊相交(526)包括:使第一曲線與第二曲線相交。
5.根據權利要求1至4之一所述的方法,其中,所述多邊形包括三角形,並且在所述三角形的頂點的每個頂點處執行輪廓函數,其中,所述輪廓函數是在所述三角形的三個頂點的每個頂點處的法線與視向量的點積。
6.根據權利要求5所述的方法,其中, 如果針對三角形的三個頂點中的每個頂點的輪廓函數均為負,則將所述多邊形(402 )識別為背面多邊形,並且確定針對所述多邊形不存在輪廓; 如果針對三角形的三個頂點中的每個頂點的輪廓函數均為正,則將所述多邊形識別為正面多邊形,並且確定針對所述多邊形不存在輪廓;以及 如果針對所述多邊形的至少一個輪廓函數為負並且針對所述多邊形的至少一個輪廓函數為正,則將所述多邊形識別為輪廓多邊形,沿著所述輪廓多邊形(402)的邊進行線性插值以識別兩個輪廓點,並且通過連接所述兩個輪廓點來形成輪廓線段。
7.根據權利要求6所述的方法,其中,進行所述線性插值包括:沿著所述輪廓多邊形的第一邊和所述輪廓多邊形的第二邊進行所述線性插值,以及其中,所述輪廓多邊形的第三邊由針對其的所述輪廓函數具有相同符號的兩個頂點限定。
8.根據權利要求6所述的方法,其中,所述生成輪廓還包括:將針對所述輪廓多邊形中的每個輪廓多邊形的輪廓線段耦接在一起以生成輪廓邊。
9.根據權利要求8所述的方法,其中,所述生成輪廓還包括:通過下述至少之一來細化所述輪廓邊:(i)針對已知類型的面,將精確曲線擬合到所述輪廓邊,以及(ii)針對未知類型的面,通過每個輪廓線段的輪廓點來擬合三次B樣條。
10.一種數據處理系統,包括: 存儲器,其被配置成存儲表示曲面細分的圖像數據的多邊形、所述多邊形的外部邊以及正面板,所述正面板包括位於所述曲面細分的圖像數據的輪廓的正面側上的多邊形; 耦接至所述存儲器的混合隱藏線處理器,其中,所述處理器被配置成通過基於所述多邊形的頂點法線生成輪廓並提供對於所述外部邊和所述輪廓的板保護,來生成基於所述曲面細分的圖像數據的顯示數據;以及 耦接至所述處理器的顯示器,其中,所述顯示器被配置成顯示基於所述顯示數據的經處理的圖像。
11.根據權利要求10所述的數據處理系統,其中,所述處理器包括: 板生成器,其被配置成生成所述正面板,以及生成包括位於所述輪廓的背面側上的多邊形的背面板; 可見性追蹤器,其被配置成追蹤所述邊並且識別所述被追蹤的邊的子集中的每條被追蹤的邊的至少一個可見性改變像素;以及 板保護器,其被配置成通過以下方式來提供所述板保護:針對每個可見性改變像素,確定所述被追蹤的邊是否來自與對應於所述可見性改變像素的多邊形相同的板,以及針對被確定為來自與對應於所述可見性改變像素的多邊形相同的板的每條被追蹤的邊,使得該被追蹤的邊被顯示。
12.根據權利要求11所述的數據處理系統,其中,所述處理器還包括邊相交器,所述邊相交器被配置成:(i)針對所述被追蹤的邊的子集中的、被確定為與對應於所述可見性改變像素的多邊形相比來自不同的板的每條被追蹤的邊,識別對應於所述可見性改變像素的外部邊,以及(ii)針對每條識別出的外部邊,使所述被追蹤的邊與該外部邊相交,以識別可見性改變點。
13.根據權利要求11所述的數據處理系統,其中,所述多邊形包括三角形,以及其中,所述處理器還包括輪廓生成器,所述輪廓生成器被配置成針對每個多邊形,通過以下步驟來生成所述輪廓: 在所述多邊形的頂點中的每個頂點處執行輪廓函數; 如果針對三角形三個頂點中的每個頂點的輪廓函數均為負,則將所述多邊形識別為背面多邊形,並且確定針對所述多邊形不存在輪廓; 如果針對三角形三個頂點中的每個頂點的輪廓函數均為正,則將所述多邊形識別為正面多邊形,並且確定針對所述多邊形不存在輪廓;以及 如果針對所述多邊形的至少一個輪廓函數為負並且針對所述多邊形的至少一個輪廓函數為正,則將所述多邊形識別為輪廓多邊形,沿著所述輪廓多邊形的邊進行線性插值以識別兩個輪廓點,並且通過連接所述兩個輪廓點來形成輪廓線段。
14.根據權利要求13所述的數據處理系統,其中,所述輪廓生成器被進一步配置成識別所述輪廓多邊形的第一邊,並且沿著所述輪廓多邊形的第二邊和所述輪廓多邊形的第三邊進行所述線性插值,所述第一邊由針對其的所述輪廓函數具有相同符號的兩個頂點限定。
15.根據權利要求13所述的數據處理系統,其中,所述存儲器被進一步配置成存儲Z緩衝器,以及其中,所述處理器還包括多邊形掃描轉換器,所述多邊形掃描轉換器被配置成將所述多邊形的質心掃描轉換提供到所述Z緩衝器中。
16.根據權利要求15所述的數據處理系統,其中,所述處理器還包括Z緩衝器分割器,所述Z緩衝器分割器被配置成基於由所述板生成器生成的所述正面板和所述背面板將所述Z緩衝器中的多邊形分割成板。
17.—種編碼有可執行指令的非暫態計算機可讀介質,所述可執行指令在被執行時,使得一個或更多個數據處理系統執行如下步驟: 生成正面板和背面板,其中,所述正面板包括位於輪廓的正面側上的多邊形,所述背面板包括位於所述輪廓的背面側上的多邊形,每個多邊形包括多條邊; 追蹤所述邊; 識別所述被追蹤的邊的子集中的每條被追蹤的邊的至少一個可見性改變像素; 針對每個可見性改變像素,確定所述被追蹤的邊是否來自與對應於所述可見性改變像素的多邊形相同的板;以及 針對被確定為來自與對應於所述可見性改變像素的多邊形相同的板的每條被追蹤的邊,生成用於顯示的該被追蹤的邊。
18.根據權利要求17所述的計算機可讀介質,其中,所述邊的至少一個子集中的每個子集包括外部邊和內部邊之一,以及其中,所述計算機可讀介質還編碼有如下可執行指令:該可執行指令在被執行時,使得一個或更多個數據處理系統執行如下步驟: 針對所述被追蹤的邊的子集中的、被確定為與對應於所述可見性改變像素的多邊形相比來自不同的板的被追蹤的邊,識別對應於所述可見性改變像素的外部邊;以及 針對每條識別出的外部邊,使所述被追蹤的邊與該外部邊相交,以識別可見性改變點。
19.根據權利要求17所述的計算機可讀介質,其中,所述多邊形包括三角形,以及其中,所述計算機可讀介質還編碼有如下可執行指令:該可執行指令在被執行時,使得一個或更多個數據處理系統針對每個多邊形執行如下步驟: 在所述多邊形的頂點中的每個頂點處執行輪廓函數, 如果針對三角形三個頂點中的每個頂點的輪廓函數均為負,則將所述多邊形識別為背面多邊形,並且確定針對所述多邊形不存在輪廓; 如果針對三角形三個頂點中的每個頂點的輪廓函數均為正,則將所述多邊形識別為正面多邊形,並且確定針對所述多邊形不存在輪廓;以及 如果針對所述多邊形的至少一個輪廓函數為負並且針對所述多邊形的至少一個輪廓函數為正,則將所述多邊形識別為輪廓多邊形,沿著所述輪廓多邊形的邊進行線性插值以識別兩個輪廓點,並且通過連接所述兩個輪廓點來形成輪廓線段;以及將針對每個輪廓多邊形的輪廓線段耦接在一起以生成輪廓邊。
20.根據權利要求19所述的計算機可讀介質,其中,所述多邊形包括三角形,以及其中,所述計算機可讀介質還編碼有如下可執行指令:該可執行指令在被執行時,使得一個或更多個數據處理系統通過下述中至少之一來細化所述輪廓邊:(i)針對已知類型的面,將精確曲線擬合到所述輪廓邊,以及(ii)針對未知類型的面,通過每個輪廓線段的所述輪廓點來擬合三次B樣條。
【文檔編號】G06T15/40GK104488000SQ201280048164
【公開日】2015年4月1日 申請日期:2012年9月21日 優先權日:2011年9月29日
【發明者】加裡·拉蒙·馬錢特, 沙伊列什·拉特納卡·卡邁爾卡爾 申請人:西門子產品生命周期管理軟體公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀