今天在工作中遇到這樣一個(gè)問(wèn)題:給定1個(gè)矩形,左下角的點(diǎn)point(x, y),長(zhǎng)w,高h(yuǎn),要在這個(gè)矩形里隨機(jī)出n個(gè)不同的點(diǎn)用來(lái)種怪。這個(gè)算法該怎么寫呢?這對(duì)于我來(lái)說(shuō)確實(shí)成為了一個(gè)問(wèn)題。圖示如下:

                      

      由于任務(wù)時(shí)間緊,做的又是Demo的原因,我不假思索的寫出了下面這個(gè)算法:

復(fù)制代碼
//從[from, to]區(qū)間中隨機(jī)一個(gè)整數(shù) function randomInt (from, to) { //方法實(shí)現(xiàn)就不寫了 }
function randomCoords (point, w, h, n) {
    //目的數(shù)組 var coords = []; var map = {}; var count = n; if ((w + 1) * (h + 1) < n) {
        count = (w + 1) * (h + 1);
    } while (count > 0) { var x = randomInt(point.x, point.x + w); var y = randomInt(point.y, point.y +
        		

網(wǎng)友評(píng)論