Bagaimana menghasilkan n titik yang sama dalam ruang dimensi n-1

8

Seperti yang saya katakan, saya ingin membangun sebuah program untuk menghasilkan n titik yang sama dalam ruang euclidian. Dari yang aku tahu

  • 1d: semua beberapa poin
  • 2d: semua segitiga sama sisi
  • 3d: semua tetrahedra sama sisi
  • hingga 3d: saya kira itu disebut hipriangle sama sisi

Jadi masalah saya adalah sebagai berikut, dalam ruang euclidian n-1, memberikan titik yang ditentukan untuk membangun n-1 lainnya agar memiliki hipriangle sama sisi dengan jarak d di antara setiap titik.

Saya kira kita bisa mulai dengan mengikuti misalnya ruang 3d.

  • p1 = (x1, y1, z1) diperbaiki
  • p2 = (x2, y2, z2)
  • p3 = (x3, y3, z3)
  • p4 = (x4, y4, z4)
  • d

Kami mulai memperbaiki p2 dengan mengetahui d dan p1

  • d²=(x1x2)2+(y1y2)2+(z1z2)2

Kami memiliki 3 variabel x2, y2, z2. Kami dapat memperbaiki dua dari mereka secara acak dan menentukan yang ketiga tanpa masalah.

Kemudian untuk poin kedua kita sekarang memiliki 2 persamaan untuk mendefinisikannya:

  • d²=(x1x3)2+(y1y3)2+(z1z3)2
  • d²=(x2x3)2+(y2y3)2+(z2z3)2

Seperti sebelumnya, saya berasumsi bahwa kita dapat memperbaiki 2 variabel untuk menentukan yang ketiga.

Untuk poin terakhir kita sekarang memiliki 3 persamaan yang mendefinisikannya.

Jadi untuk ruang dimensi n-1 kita memiliki persamaan n-1 untuk mendefinisikan titik terakhir.

Saya tidak tahu bagaimana memecahkan sistem semacam ini yang terdiri dari persamaan kuadratik dengan satu variabel dan jika proses yang terdiri dari memperbaiki dimensi n-1 untuk menentukan yang terakhir mengarah ke hypertriangle yang sama. Selain itu mungkin ada metode lain dengan kompleksitas yang lebih kecil dan lebih mudah diimplementasikan.

Saya harap saya cukup jelas dan saya ucapkan terima kasih atas bantuan Anda.

KyBe
sumber

Jawaban:

9

Saya berasumsi kita sedang bekerja Rn.

Pertama-tama, amati yang satu itu teratur n-simplex secara efektif menentukan yang lainnya. Padahal, jikaS1,S2 adalah dua set poin di Rn yang memenuhi kondisi keteraturan, maka mereka dapat diperoleh dari satu sama lain dengan menyusun paling banyak suatu isometri dan transformasi homotetik dari ruang afin (sebaliknya juga benar).

Karena itu, cukup membangun satu kesatuan nsimpleks berpusat pada titik asal. Kami memvisualisasikan setiap simpul simpleksv1,v2,vn+1 sebagai elemen nyata nRuang vektor -dimensi.

Pertimbangkan dua simpul v1,v2 simpleks, biarkan O menjadi asal dan π menjadi pesawat yang melewati v1,v2,O. Sudutϑ=v1Ov2 persis arccos(1/n). Untuk membuktikan itu, kami mengamati bahwa:

0=ivi2=(n+1)+2cosϑ(n+12)

Kami menyimpulkan bahwa penahanan berikut:

  • ivi=1

  • ijvi,vj=1/n

Kita dapat mengasumsikan tanpa kehilangan keumuman bahwa terletak pada baris yang sama, bahwa terletak pada bidang yang sama dengan yang lain dan seterusnya (secara umum, bahwa untuk setiap , terletak pada sama subruang dari dengan dimensi ). Oleh karena itu, kita dapat menulis vektor dengan koordinat sebagai berikut:v1,v2v3kv1,v2,vkRnk

v1v2vn+1===(x1,10000)T(x2,1x2,2000)T(xn+1,1xn+1,2xn+1,3xn+1,4xn+1,n+1)T

Persamaan pertama secara unik menentukan dan yang kedua semua . Sekarang kita menggunakan lagi yang pertama untuk menghitung dan dengan yang kedua kita menentukan semua tersisa .x1,1xm,1x2,2x2,m

Melanjutkan prosedur dengan cara yang sama menghitung nilai koordinat semua simpul.

quicksort
sumber
Terima kasih, terlepas dari hal-hal teoretis yang telah Anda bagikan dengan kami, saya tidak berhasil menemukan cara menentukan , dengan anggapan bahwa didefinisikan oleh pengguna. Bisakah Anda jelaskan dengan cara lain? x2,1,x2,2,...x1,1
KyBe
v [n + 1] harus memiliki dimensi n bukan n + 1 seperti pada persamaan terakhir; v [n + 1] harus dihitung dari v [0] + v [1] + ... + v [n] + v [n + 1] = 0
titus
6

Anda dapat membuat n-1 titik berjarak sama dengan menggunakan vektor satuan di sepanjang masing-masing sumbu alias. (1, 0, 0, 0, ..., 0); (0, 1, 0, 0, ..., 0); (0, 0, 1, 0, ..., 0); dll, titik n terakhir akan sepanjang 1, 1, 1, ..., 1 arah.

Kemudian Anda bisa menggunakan skala untuk mengatur jarak antara titik dari 2 untuk d dan terjemahan untuk memindahkan salah satu titik ke titik tetap

aneh ratchet
sumber
Bagus - saya pikir Anda benar-benar dapat menulis solusi tertutup dengan pendekatan ini!
ruakh
1
[nanti] Untuk poin terakhir, Anda bisa menggunakan keduanya(1nn1,1nn1,,1nn1) atau (1+nn1,1+nn1,,1+nn1).
ruakh
Terima kasih, tetapi saya tidak yakin untuk memahami dengan baik apa yang Anda usulkan dengan "menggunakan vektor satuan di sepanjang masing-masing sumbu", bisakah Anda memformulasikannya kembali.
KyBe
@KyBe Saya menambahkan beberapa contoh.
ratchet freak
Dari mana Anda menemukan ekspresi titik terakhir (yang merupakan n dalam ruang n-1 d) @ruakh? Ini menarik tetapi saya tidak berhasil menemukan cara mendapatkannya.
KyBe