Kombinieren Sie zwei Indexzahlen

WBOY
Freigeben: 2024-02-06 10:18:04
nach vorne
1153 Leute haben es durchsucht

Kombinieren Sie zwei Indexzahlen

Frageninhalt

Hintergrund

Ein

3D-Würfel hat 12 边和 8Winkel.

Eckpunktindex

8 角点已索引 07.

7---------6
     /|        /|
    / |       / |
   4---------5  |
   |  |      |  |
   |  3------|--2
   | /       | /
   |/        |/
   0---------1
Nach dem Login kopieren

Kantenindex

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
}
Nach dem Login kopieren

Kombinieren Sie zwei Indexzahlen

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.

Frage

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.

Option 1: String

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"}
Nach dem Login kopieren

Aber die Arbeit mit Strings ist nicht so einfach wie die einfache Ganzzahlindizierung.

Option 2: Index verschieben

Eine weitere Möglichkeit besteht darin, den Kantenindex von 0 保留到 11,但移动角的索引。因此,角点将从 0+12 索引到 7+12,即从 1219 zu ändern. Mit dieser Option sieht das gleiche Tetraeder so aus:

var tehtrahedron = [4]int{0+12, 0, 3, 8}
Nach dem Login kopieren

oder:

var tehtrahedron = [4]int{12, 0, 3, 8}
Nach dem Login kopieren

Aber diese Option wird den Rest meines Codes durcheinander bringen und die Lesbarkeit meines Codes erschweren.

Notizen

  1. Ein Tetraeder besteht nicht immer aus 1 角和 3 边组成。组合是任意的。但角和边的总数始终为 4.
  2. Die Indexreihenfolge der Tetraeder ist wichtig.

Frage

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...


Richtige Antwort


Am Ende habe ich mich für die mobile Indexierung entschieden. Der Index der Kante 011 ,角的索引 1219 .

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!

Quelle:stackoverflow.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!