本申請涉及3d打印,具體的涉及一種應用于3d打印中的模型網格化的邊角特征恢復方法及系統、計算機設備、計算機可讀存儲介質及計算機程序產品。
背景技術:
1、隱式建模(implicit?modeling)被廣泛應用于3d打印、計算機輔助設計(cad)等技術領域。通過隱式建模構建的3d對象(即3d物件)的隱式模型可以具有光滑的表面以及復雜的結構,還可以輕松的進行布爾運算,并且其模型精度不依賴于分辨率。
2、在隱式建模應用在3d打印技術領域中時,通常需要將通過隱式建模構建好的隱式模型轉換為由三角面片構成的三角網格模型,以將三角網格模型作為3d打印的前處理軟件等軟件的輸入、以及利用三角網格模型進行模型渲染等。在一些精度要求高的場合,例如工業應用,通常期望所轉換成的三角網格模型是能夠保留邊角特征的,但目前相關的算法中是通過采用基于距離場或等值面提取等方式以確保能夠保留邊角特征,這些方式雖然能夠捕捉到幾何形狀表面的邊角,但計算量很大且占據很大內存,另外還會出現無法精準描述其他特征的情況,導致模型的某些區域失真的問題。
3、所以,如何能夠將隱式模型轉換為保持邊角特征的三角網格模型的同時降低計算和內存量以及提升轉換質量是亟待解決的技術問題。
技術實現思路
1、鑒于以上所述相關技術的缺點,本申請的目的在于提供一種應用于3d打印中的模型網格化的邊角特征恢復方法及系統、計算機設備、計算機可讀存儲介質及計算機程序產品,用以克服上述相關技術中存在如何能夠將隱式模型轉換為保持邊角特征的三角網格模型的同時降低計算和內存量以及提升轉換質量的技術問題。
2、為實現上述目的及其他相關目的,本申請公開的第一方面公開一種應用于3d打印中的模型網格化的邊角特征恢復方法,包括以下步驟:將隱式表達模型轉換為三角網格模型,其中所述隱式表達模型的邊角特征被轉換為圓滑特征;遍歷所述三角網格模型中所有的三角面片以基于所述隱式表達模型確定各三角面片對應的期望法向量;基于各三角面片對應的期望法向量優化各三角面片的位置以使優化后的各三角面片的實際法向量對齊期望法向量,以使得所述三角網格模型上的圓滑特征恢復為邊角特征。
3、本申請第二方面公開了一種應用于3d打印中的模型網格化的邊角特征恢復系統,包括:隱式轉三角網格模塊,用于將隱式表達模型轉換為三角網格模型,其中所述隱式表達模型的邊角特征被轉換為圓滑特征;法向量確定模塊,用于遍歷所述三角網格模型中所有的三角面片以基于所述隱式表達模型確定各三角面片對應的期望法向量;特征恢復模塊,用于基于各三角面片對應的期望法向量優化各三角面片的位置以使優化后的各三角面片的實際法向量對齊期望法向量,以使得所述三角網格模型上的圓滑特征恢復為邊角特征。
4、本申請第三方面公開了一種計算機設備,包括:存儲裝置,用于存儲至少一個程序;處理裝置,與所述存儲裝置相連,用于自所述存儲裝置中調用所述至少一個程序并執行時實現如本申請第一方面所述的應用于3d打印中的模型網格化的邊角特征恢復方法。
5、本申請第四方面公開了一種計算機可讀存儲介質,存儲有至少一個程序,所述至少一個程序被計算機的處理器調用并執行時實現如本申請第一方面所述的應用于3d打印中的模型網格化的邊角特征恢復方法。
6、本申請第五方面公開了一種計算機程序產品,當所述計算機程序產品在計算機上運行時,使得所述計算機執行如本申請第一方面所述的應用于3d打印中的模型網格化的邊角特征恢復方法。
7、綜上所述,本申請公開的一種應用于3d打印中的模型網格化的邊角特征恢復方法及系統、計算機設備、計算機可讀存儲介質及計算機程序產品,首先在將隱式表達模型轉換為三角網格模型時不考慮邊角特征的保留,以使得大大降低了模型轉換的計算量和內存量,且確保轉換后的三角網格模型質量較好,之后通過將三角網格模型中各三角面片的實際法向量對齊期望法向量來優化所有三角面片的位置,使得三角網格模型在轉換中形成的圓滑特征恢復為邊角特征,如此,既能夠實現了將隱式表達模型轉換為保持邊角特征的三角網格模型,又可以兼顧降低了計算和內存量,以及提升三角網格模型的質量。
1.一種應用于3d打印中的模型網格化的邊角特征恢復方法,其特征在于,包括以下步驟:
2.根據權利要求1所述的邊角特征恢復方法,其特征在于,還包括:基于一初始隱式表達模型進行輪廓偏移以得到所述隱式表達模型的步驟。
3.根據權利要求2所述的邊角特征恢復方法,其特征在于,所述初始隱式表達模型是基于一初始三角網格模型進行轉換后得到的。
4.根據權利要求1至3任一所述的邊角特征恢復方法,其特征在于,所述將隱式表達模型轉換為三角網格模型的步驟包括:對所述隱式表達模型進行網格化操作以生成所述三角網格模型。
5.根據權利要求4所述的邊角特征恢復方法,其特征在于,所述對所述隱式表達模型進行網格化操作以生成所述三角網格模型包括以下步驟:
6.根據權利要求5所述的邊角特征恢復方法,其特征在于,下一級網格化配置為遍歷當前級子網格的長寬高方向以對其中可執行均分的方向上進行均分的方式進行網格化。
7.根據權利要求5所述的邊角特征恢復方法,其特征在于,分別確定當前級的各子網格的所述隱式表達的取值區間以對其中取值區間包含一閾值區間的子網格進行下一級網格化的步驟包括:分別確定當前級的各子網格的隱式表達的取值區間,以將所述閾值區間分別與各子網格的取值區間進行比較,并在所述取值區間包含所述閾值區間的條件下將對應的子網格進行下一級網格化。
8.根據權利要求7所述的邊角特征恢復方法,其特征在于,分別確定當前級的各子網格的隱式表達的取值區間的步驟包括:基于所述子網格的對角頂點確定該子網格的取值區間。
9.根據權利要求8所述的邊角特征恢復方法,其特征在于,基于所述子網格的對角頂點確定該子網格的取值區間的步驟包括:基于所述子網格的對角頂點確定該子網格的體對角線長度,以基于所述體對角線長度和所述子網格的中心點隱式表達的輸出值確定所述子網格的取值區間。
10.根據權利要求7所述的邊角特征恢復方法,其特征在于,分別確定當前級的各子網格的所述隱式表達的取值區間以對其中取值區間包含一閾值區間的子網格進行下一級網格化的步驟還包括:在所述取值區間大于所述閾值區間的條件下將對應的子網格填充為表示在隱式表達模型外的數值,以及在所述取值區間小于所述閾值區間的條件下將對應的子網格填充為表示在隱式表達模型內的數值。
11.根據權利要求10所述的邊角特征恢復方法,其特征在于,所述閾值區間配置為以第一閾值為上限和以第二閾值為下限的包含隱式表達的邊界值的區間,在所述取值區間的下限值大于所述第一閾值時判定為所述取值區間大于所述閾值區間,在所述取值區間的上限值小于所述第二閾值時判定為所述取值區間小于所述閾值區間。
12.根據權利要求10所述的邊角特征恢復方法,其特征在于,所述閾值區間配置為所述隱式表達的邊界值,在所述取值區間的下限值大于所述邊界值時判定為所述取值區間大于所述閾值區間,在所述取值區間的上限值小于所述邊界值時判定為所述取值區間小于所述閾值區間。
13.根據權利要求5所述的邊角特征恢復方法,其特征在于,進行數值填充的步驟包括:在所述關鍵網格中選擇至少一代表點以獲取所述至少一代表點的隱式表達的輸出值,以及將所述輸出值填入所述關鍵網格中的對應位置。
14.根據權利要求13所述的邊角特征恢復方法,其特征在于,所述代表點配置為所述關鍵網格的中心點。
15.根據權利要求1所述的邊角特征恢復方法,其特征在于,基于所述隱式表達模型確定各三角面片對應的期望法向量的步驟包括:確定所述隱式表達模型對應的隱式表達在各三角面片的代表點處的梯度,以確定各三角面片對應的期望法向量。
16.根據權利要求15所述的邊角特征恢復方法,其特征在于,所述代表點配置為三角面片的中心點。
17.根據權利要求1所述的邊角特征恢復方法,其特征在于,還包括:確定優化前的各三角面片的實際法向量的步驟。
18.根據權利要求17所述的邊角特征恢復方法,其特征在于,基于各三角面片對應的期望法向量優化各三角面片的位置以使優化后的各三角面片的實際法向量對齊期望法向量的步驟包括:基于一迭代算法和優化前的各三角面片的實際法向量優化各三角面片的位置,以使優化后的各三角面片的實際法向量對齊期望法向量。
19.一種應用于3d打印中的模型網格化的邊角特征恢復系統,其特征在于,包括:
20.一種計算機設備,其特征在于,包括:
21.一種計算機可讀存儲介質,其特征在于,存儲有至少一個程序,所述至少一個程序被計算機的處理器調用并執行時實現如權利要求1至18中任一所述的應用于3d打印中的模型網格化的邊角特征恢復方法。
22.一種計算機程序產品,其特征在于,當所述計算機程序產品在計算機上運行時,使得所述計算機執行如權利要求1至18中任一所述的應用于3d打印中的模型網格化的邊角特征恢復方法。