Tantangan
Tulis sebuah program atau fungsi yang tidak membutuhkan input dan menghasilkan vektor dengan panjang dalam arah acak yang seragam secara teoritis .
Ini sama dengan titik acak pada bola yang dijelaskan oleh
menghasilkan distribusi seperti itu
Keluaran
Tiga mengapung dari distribusi acak yang seragam secara teoritis yang persamaan berlaku untuk batas presisi.
Komentar tantangan
- Distribusi acak harus seragam secara teori . Artinya, jika generator bilangan pseudo-acak harus diganti dengan RNG sejati dari bilangan real , itu akan menghasilkan distribusi acak yang seragam dari titik-titik di bola.
- Menghasilkan tiga angka acak dari distribusi seragam dan menormalkannya tidak valid: akan ada bias terhadap sudut ruang tiga dimensi.
- Demikian pula, menghasilkan dua angka acak dari distribusi seragam dan menggunakannya sebagai koordinat bola tidak valid: akan ada bias terhadap kutub bola.
- Keseragaman yang tepat dapat dicapai oleh algoritma termasuk tetapi tidak terbatas pada:
- Hasilkan tiga angka acak , dan dari distribusi normal (Gaussian) sekitar dan normalkan kembali. 0
- Hasilkan tiga angka acak , dan dari distribusi seragam dalam kisaran . Hitung panjang vektor dengan . Kemudian, jika , tolak vektor dan hasilkan seperangkat angka baru. Lain, jika , normalkan vektor dan kembalikan hasilnya. ( - 1 , 1 ) l = √
- Hasilkan dua angka acak dan dari distribusi seragam dalam kisaran dan konversikan menjadi koordinat bola seperti: sehingga , dan dapat dihitung dengan( 0 , 1 ) θ
- Berikan jawaban singkat tentang algoritma yang Anda gunakan di jawaban Anda.
- Baca lebih lanjut tentang memilih sphere point di MathWorld .
Contoh keluaran
[ 0.72422852 -0.58643067 0.36275628]
[-0.79158628 -0.17595886 0.58517488]
[-0.16428481 -0.90804027 0.38532243]
[ 0.61238768 0.75123833 -0.24621596]
[-0.81111161 -0.46269121 0.35779156]
Komentar umum
- Ini adalah kode-golf , jadi jawabannya menggunakan byte paling sedikit di setiap bahasa yang menang.
- Aturan standar , aturan I / O, dan aturan celah berlaku.
- Harap sertakan tautan Cobalah Online atau yang setara untuk menunjukkan bahwa kode Anda berfungsi.
- Harap motivasikan jawaban Anda dengan penjelasan kode Anda.
pi/6 ≈ 0.5236
menghasilkan output. Itulah area bola yang tertulis dalam kubus unit-area