Heim >Backend-Entwicklung >Golang >Kombinieren Sie zwei Indexzahlen
3D-Würfel hat 12
边和 8
Winkel.
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 }
Ich möchte ein Tetraeder in einen 3D-Würfel zeichnen. Um ein Tetraeder zu beschreiben, kann ich die Indizes der Seiten und Winkel verwenden. Ein Tetraeder besteht beispielsweise aus Winkeln 0
、边 0
、边 3
和边 8
.
Mein Problem ist die Indexnummer. Ich weiß nicht, wie ich den Index der Seite mit dem Index der Ecke kombinieren soll. Ich habe zwei Optionen für die Indexnummerierung.
Eine Möglichkeit besteht darin, Schnüre zur Bildung des Tetraeders zu verwenden. Zum Beispiel verwende ich das Präfix c
前缀作为角索引,使用 e
als Kantenindex:
var tehtrahedron = [4]string{"c0", "e0", "e3", "e8"}
Aber die Arbeit mit Strings ist nicht so einfach wie die einfache Ganzzahlindizierung.
Eine weitere Möglichkeit besteht darin, den Kantenindex von 0
保留到 11
,但移动角的索引。因此,角点将从 0+12
索引到 7+12
,即从 12
到 19
zu ändern. Mit dieser Option sieht das gleiche Tetraeder so aus:
var tehtrahedron = [4]int{0+12, 0, 3, 8}
oder:
var tehtrahedron = [4]int{12, 0, 3, 8}
Aber diese Option wird den Rest meines Codes durcheinander bringen und die Lesbarkeit meines Codes erschweren.
1
角和 3
边组成。组合是任意的。但角和边的总数始终为 4
. Gibt es eine praktische Möglichkeit, die ursprünglichen Indexnummern von Kanten und Ecken beizubehalten? Ist es möglich, ein Tetraeder gleichzeitig durch die Indizes seiner Seiten und Winkel darzustellen?
Suche nach Ideen...
Am Ende habe ich mich für die mobile Indexierung entschieden. Der Index der Kante 0
到 11
,角的索引 12
到 19
.
Ich muss das machen, weil die Kombination von Seiten und Ecken willkürlich ist. Darüber hinaus ist auch die Reihenfolge der Indizes von entscheidender Bedeutung.
Das obige ist der detaillierte Inhalt vonKombinieren Sie zwei Indexzahlen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!