Rumah > pembangunan bahagian belakang > Golang > Gabungkan dua nombor indeks

Gabungkan dua nombor indeks

WBOY
Lepaskan: 2024-02-06 10:18:04
ke hadapan
1186 orang telah melayarinya

Gabungkan dua nombor indeks

Kandungan soalan

Latar belakang

Kubus

3d mempunyai 12 边和 8 sudut.

Indeks mata penjuru

8 角点已索引 07.

7---------6
     /|        /|
    / |       / |
   4---------5  |
   |  |      |  |
   |  3------|--2
   | /       | /
   |/        |/
   0---------1
Salin selepas log masuk

Indeks Tepi

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
}
Salin selepas log masuk

Gabungkan dua nombor indeks

Saya mahu melukis tetrahedron di dalam kiub 3d. Untuk menerangkan tetrahedron, saya boleh menggunakan indeks sisi dan sudut. Sebagai contoh, tetrahedron akan terdiri daripada sudut 0、边 0、边 3 和边 8.

Soalan

Masalah saya ialah nombor indeks. Saya tidak tahu bagaimana untuk menggabungkan indeks sisi dengan indeks sudut. Saya mempunyai dua pilihan penomboran indeks.

Pilihan 1: Rentetan

Satu pilihan ialah menggunakan tali untuk membentuk tetrahedron. Contohnya, saya menggunakan awalan c 前缀作为角索引,使用 e sebagai indeks tepi:

var tehtrahedron = [4]string{"c0", "e0", "e3", "e8"}
Salin selepas log masuk

Tetapi bekerja dengan rentetan tidak semudah pengindeksan integer yang mudah.

Pilihan 2: Indeks Bergerak

Pilihan lain ialah menukar indeks tepi daripada 0 保留到 11,但移动角的索引。因此,角点将从 0+12 索引到 7+12,即从 1219. Menggunakan pilihan ini, tetrahedron yang sama akan kelihatan seperti ini:

var tehtrahedron = [4]int{0+12, 0, 3, 8}
Salin selepas log masuk

atau:

var tehtrahedron = [4]int{12, 0, 3, 8}
Salin selepas log masuk

Tetapi pilihan ini akan mengacaukan selebihnya kod saya dan menjadikan kod saya sukar dibaca.

Nota

  1. Tetrahedron tidak selalu terdiri daripada 1 角和 3 边组成。组合是任意的。但角和边的总数始终为 4.
  2. Susunan indeks tetrahedron adalah penting.

Soalan

Adakah terdapat cara yang mudah untuk mengekalkan nombor indeks asal tepi dan bucu? Adakah mungkin untuk mewakili tetrahedron dengan indeks sisi dan sudutnya pada masa yang sama?

Mencari idea...


Jawapan betul


Akhirnya saya memilih pengindeksan mudah alih. Indeks tepi 011 ,角的索引 1219 .

Saya terpaksa melakukan ini kerana gabungan sisi dan bucu adalah sewenang-wenangnya. Di samping itu, susunan indeks juga adalah kritikal.

Atas ialah kandungan terperinci Gabungkan dua nombor indeks. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan