隨機點我使用更好的辦法來接地球上
$lat=rand(0-pi()*1000000,pi()*1000000)/1000000;
$lon=rand(0-pi()*1000000,pi()*1000000)/1000000;
挑一個地球上任意一點(弧度),但是在點此方法將導致是因爲1度更加緊密附近民調則赤道附近$ lon是在赤道附近投票的較小距離。
如何獲得更好的分配任何想法?
隨機點我使用更好的辦法來接地球上
$lat=rand(0-pi()*1000000,pi()*1000000)/1000000;
$lon=rand(0-pi()*1000000,pi()*1000000)/1000000;
挑一個地球上任意一點(弧度),但是在點此方法將導致是因爲1度更加緊密附近民調則赤道附近$ lon是在赤道附近投票的較小距離。
如何獲得更好的分配任何想法?
基於this article on Wolfram你需要的東西是這樣的:
$long = pi() - 2 * pi() * rand(0, 1000000)/1000000;
$lat = pi()/2 - acos(2 * rand(0, 1000000)/1000000 - 1);
通過我的文章'$ LAT = ACOS(蘭特(0,1000000)/ 500000-1)的理解;'請注意我簡化了'2/1000000' –
在這種情況下,它會之間0和pi()。我以爲你需要它-pi()/ 2和pi()/ 2。 –
是的,我現在看到它。謝謝。 –
我最初的想法是不同的座標系,如極座標使用RHO和θ角,將工作這些。但經過反思,我意識到這無濟於事。你基本上已經得到了一個球形平鋪問題:你需要一個覆蓋球體的近似區域_X_的系統。一旦你有了,你可以給它們編號並使用普通的隨機數機制來選擇一個。所以也許你應該谷歌搜索「平鋪一個球體」。 –
你想要什麼值的範圍? – Mxsky
考慮重新編寫這是一個數學問題併發布到http://math.stackexchange.com/ –