Meydan okuma
Girişsiz olan ve uzunluğu olan bir vektörü teorik olarak düzgün bir rastgele yönde çıkaran bir program veya işlev yazın .
Bu, açıklanan küre üzerindeki rastgele bir noktaya eşdeğerdir.
böyle bir dağıtım sonuçlandı
Çıktı
denkleminin hassasiyet limitlerine sadık kaldığı teorik olarak düzgün rastgele dağılımdan üç değişken .
Meydan açıklamalar
- Rastgele dağılımın teorik olarak tek tip olması gerekir . Yani, eğer sözde rasgele sayı üreteci, gerçek sayılardan gerçek bir RNG ile değiştirilecekse , küre üzerinde noktaların düzgün rastgele dağılmasıyla sonuçlanacaktır.
- Düzgün bir dağılımdan üç rasgele sayı üretmek ve bunları normalleştirmek geçersizdir: üç boyutlu boşluğun köşelerine doğru bir önyargı olacaktır.
- Benzer şekilde, düzgün bir dağılımdan iki rasgele sayı üretmek ve bunları küresel koordinatlar olarak kullanmak geçersizdir: kürenin kutuplarına doğru bir önyargı olacaktır.
- Aşağıdakileri içeren ancak bunlarla sınırlı olmayan algoritmalar ile uygun tek biçimlilik elde edilebilir:
- A'dan üç rasgele sayı , ve oluşturun0 , normal çevresinde (Gauss) dağıtım ve normalize.
- Oluşturmak üç rasgele sayılar , ve , bir gelen muntazam aralığında dağılımı . Vektörün uzunluğunu hesaplayın . O zaman, eğer( - 1 , 1 ) l = √ ise vektörü reddedin ve yeni bir sayı kümesi oluşturun. Aksi takdirde, ise vektörü normalleştirir ve sonucu döndürür.
- İki rasgele sayı oluşturmak ve bir gelen muntazam aralığında dağılımı ve bunu gibi küresel koordinatlar dönüştürmek: böylece , ve( 0 , 1 ) θile hesaplanabilir
- Cevabınıza, kullandığınız algoritmanın kısa bir açıklamasını sağlayın.
- Küre noktası toplama hakkında daha fazla bilgi edinin MathWorld'de seçimi hakkında .
Çıktı örnekleri
[ 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]
Genel açıklamalar
- Bu kod golf , yani her dilde en az bayt kullanan cevap kazanıyor.
- Standart kurallar , G / Ç kuralları ve boşluk deliği kuralları uygulanır.
- Lütfen bir Çevrimiçi Deneyin kodunuzun çalıştığını göstermek için bir Deneyin bağlantısını kullanın.
- Lütfen cevabınızı kodunuzun açıklamasıyla motive edin.
pi/6 ≈ 0.5236
bir çıktı üretme şansına sahip. Bu, birim alan küpünde yazılı kürenin alanı