3d 立方體有 12
邊和 8
角。
8
角點已索引 0
到 7
。
7---------6 /| /| / | / | 4---------5 | | | | | | 3------|--2 | / | / |/ |/ 0---------1
11
邊已從 0
索引到 11
。
// these are the corner pairs for the edges: var mcpairtable = [12][2]int{ {0, 1}, // edge 0 {1, 2}, // edge 1 {2, 3}, // edge 2 {3, 0}, // edge 3 {4, 5}, // edge 4 {5, 6}, // edge 5 {6, 7}, // edge 6 {7, 4}, // edge 7 {0, 4}, // edge 8 {1, 5}, // edge 9 {2, 6}, // edge 10 {3, 7}, // edge 11 }
我想在 3d 立方體內繪製四面體。為了描述四面體,我可以使用邊和角的索引。例如,四面體將由角 0
、邊 0
、邊 3
和邊 8
組成。
我的問題是索引編號。我不知道如何將邊的索引與角的索引結合。我有兩種索引編號選項。
一種選擇是使用字串來組成四面體。例如,我使用 c
前綴作為角落索引,並使用 e
前綴作為邊緣索引:
var tehtrahedron = [4]string{"c0", "e0", "e3", "e8"}
但是處理字串並不像簡單的整數索引那麼容易。
另一個選項是將邊的索引從 0
保留到 11
,但移動角的索引。因此,角點將從 0 12
索引到 7 12
,即從 12
到 19
。使用此選項,相同的四面體將如下所示:
var tehtrahedron = [4]int{0+12, 0, 3, 8}
或:
var tehtrahedron = [4]int{12, 0, 3, 8}
但是這個選項會弄亂我的程式碼的其餘部分,並使我的程式碼難以閱讀。
1
角和 3
邊組成。組合是任意的。但角和邊的總數總是 4
。 是否有一種方便的方法來保留邊緣和角落的原始索引編號? 同時能夠透過邊和角的索引來表示四面體?
尋找一些想法...
最終我選擇了移動索引。邊的索引 0
到 11
,角的索引 12
到 19
。
我必須這樣做,因為邊和角的組合是任意的。此外,索引的順序也很關鍵。
以上是組合兩個索引編號的詳細內容。更多資訊請關注PHP中文網其他相關文章!