Re: [討論] 圓內隨機取N個座標點的問題

看板MATLAB作者 (Achilles)時間13年前 (2012/08/14 02:50), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
※ 引述《tomichy (絕倒!天然度max!)》之銘言: : 我想這應該是個歸類為演算法的問題吧? : 我利用簡單的關係式 : X=r*cos(theta)+a & Y=r*sin(theta)+b, 0<=r<=R : 在一個半徑R的圓內 任意指定N個座標點 (N large) : 隨機變數有 r 以及theta 兩個 分別隨機取然後得到(X,Y) : "以如此方式產生的座標點(X,Y)的密度靠近(a,b)的區域 : 相對於其他地方都來得高" : (以座標點密度對半徑作圖, 會類似常態分布) : 而這不是我想要的結果 你做錯了 因為兩個作標系統的 Jocobian, 你得去查 學一下這個作標函數轉換 這應該在微積分有. Quick hint: unit area in (x,y) is dx*dy but in (r, theta) is r dr*d(theta) : 請問各位有沒有經驗或可以明示一下 : 如果想寫一個 when N large : 在圓內座標點幾何分布密度會趨近於定值的的一個座標指定方式 : (以座標點密度對半徑作圖, 呈現接近水平線) It's not correct. If you want uniform inside circule area, the density should be prop to r. There are so fancy methods here. Google is always your best friend. http://stackoverflow.com/questions/5837572/generate-a-random-point-within-a-circle-uniformly -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 205.226.66.120

08/22 14:39, , 1F
讚 你這個回答(網頁)是我想要的~ thx
08/22 14:39, 1F
文章代碼(AID): #1GAKnfKS (MATLAB)
文章代碼(AID): #1GAKnfKS (MATLAB)