stl檔案是什麼
stl檔案是網格檔案的一種格式,分為二進位制和文字兩種型別。具體來講,它定義了一群三角麵片,比如下面是乙個文字的stl示例:
solid geometryplusplus網格拓撲是什麼?為什麼不建議使用stl格式facet normal
-0.902325
-0.430279
-0.0258872
outer loop
vertex
-86.941
-297.521
-115.031
vertex
-87.0579
-297.277
-115.053
vertex
-86.9864
-297.4
-115.516
endloop
endfacet
facet normal
-0.94428
-0.0796825
0.319353
outer loop
vertex
-87.2002
-296.181
-112.896
vertex
-87.0852
-296.215
-112.573
vertex
-87.1714
-295.916
-112.749
endloop
endfacet
facet normal
-0.987853
0.0260761
-0.153187
outer loop
vertex
-86.8988
-294.403
-120.439
vertex
-86.7915
-294.399
-121.13
vertex
-86.8956
-294.772
-120.527
endloop
endfacet
endsolid geometryplusplus
網格本質上是曲面的一次逼近,它有兩個核心的量:幾何和拓撲。幾何資訊通過頂點位置來記錄,而拓撲資訊通過三角網格的連線關係來記錄。曲面移出掉幾何資訊,就只剩下拓撲資訊了。比如橡皮泥,你可以任意改變它的形狀,只要不撕裂它,那麼它的拓撲資訊是不變的。所以,關於網格的計算,不僅需要幾何的正確性,拓撲的正確性也是極其重要,卻又是極容易被人忽略的。stl檔案格式,其實並沒有記錄網格的連線關係,只是一群三角麵片,有個英文名詞叫******** soup,說的就是這種格式。為了給stl格式的網格建立網格連線關係,常見的做法是把位置重疊的點融合成乙個點。但是這種做法,也讓stl格式不能表達帶割縫的網格結構了。所以,不建議使用stl格式來儲存網格。可以使用obj格式來代替它。
網格頂點數和麵數的關係
拓撲學的尤拉公式描述了網格頂點,邊和麵之間的關係:v - e + f = x. 其中v是網格頂點數,e是網格邊數,f是網格面數,x是網格的尤拉示性數,是乙個拓撲不變數。在網格點數很多的情況下,有下面這個近似關係:e = 3 * f / 2, x = 0。帶入尤拉公式後,有近似關係:f = 2 * v。注意,如果匯入乙個stl網格,並且沒有做頂點融合,v = 3 * f。所以,根據頂點和麵的數量關係,可以判斷匯入的stl是否做了頂點融合。
網格虧格
簡單的講,網格的虧格(g)就是網格上「環柄」的數量,如下圖所示,球體虧格為0,環體為1......尤拉示性數x = 2 - 2 * g, 如果網格有洞,則x = 2 - 2 * g - b. 在網格uv展開中,需要將網格剪開成圓盤拓撲,需要至少g + 1刀。
每個三角麵片都有乙個定向,比如v0, v1, v2,如下圖左所示。相鄰邊的定向如果是相反的,則為相容的。如果網格所有的定向都是相容的,則為可定向曲面,反之為不可定向曲面。莫比烏斯帶是有名的不可定向曲面,它只有一面:乙個人從某點出發,繞帶環遊一圈回來後,則站在了這點的背面。
three park(三維公園)
電源拓撲從入門到精通 2
from 上期答案揭曉 答案上圖 c 下圖 a 小夥伴們答對了嗎?ytdfwangwei 我的笨辦法 source,源的意思,就是提供電流。所以,只要是電流流出,就是source。不知道是否正確?完全正確。sink 和 source 是在電路中經常出現的兩個詞。source 源,比如電源,源總是提供...
stl 輸出unicode到檔案中
在vs2008中,如果專案設定了unicode字符集,把中文輸出到檔案中經常會遇到錯誤。在mfc專案中,可以使用以下語句來實現unicode到多位元組字元的轉換 uses conversion cstring strlog t 我愛大家 const char cplog const char w2a...
從檔案到字元裝置
在 dev下面有很多裝置,其中也有大家廣為使用的字元裝置,呢裡面的檔案是如何與字元裝置掛鉤的呢 平時我們使用的open函式是如何動態載入字元裝置的操作集的呢 下面就讓我們慢慢剖析 以核心2.6.26為參考 一.首先是檔案系統 需要動態解析檔案路徑名 像 dev ts0 在檔案系統裡分為3個部分 1....