作者wwe00222 (hao)
看板MATLAB
標題[討論] 請教在限定區域內隨機選點問題
時間Tue May 14 02:01:47 2013
http://imgur.com/ByfHnxS
我想在一個三角型區域內(不能超出),隨機選一個點,點的位置如圖中安排所表示
共14個點
每個點(x1,y1)之間的間隔是δ=25mm
能不能建立一條數學式當我輸入一個δ就能自動建立出點(x1,y1)
並隨機選取
小弟想法是不斷使用 if .....elseif....elseif.....end 去判斷
但試了結果都不做不出來
請教有人能幫忙解答嗎 謝謝!!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.27.33.82
1F:→ jatj:第一時間的想法, 先在125x200內隨機選一個點 05/14 03:19
2F:→ jatj:tx=δ:δ:125; idx=randperm(numel(tx)); x1=tx(idx(1)); 05/14 03:22
3F:→ jatj:y1亦同理 之後分別檢查x1, y1是否落在你要的三角形 05/14 03:22
4F:→ jatj:不是的話選取下一個idx, 用while來判斷即可 05/14 03:23
5F:→ jatj:注意x, y是分別判斷 05/14 03:23
6F:→ jatj:tx=δ:δ:125-δ; sorry 05/14 03:23
7F:→ jatj:抱歉想想應該一組一組判斷 所以應該列出idx_x, idx_y 之後 05/14 03:24
8F:→ jatj:隨機排列所有(x.y)的組合 之後一組一組檢查 05/14 03:25
9F:→ YoursEver:(1) 根據 \delta 畫 grid point. 05/14 13:19
10F:→ YoursEver:(2) grid point的座標+三角型頂點座標-->算三角坐標系 05/14 13:20
11F:→ YoursEver: (barycentric coordinate)的係數. 05/14 13:20
12F:→ YoursEver:(3) 三角坐標系的係數a,b,c都在[0,1]之間時,點在三角型 05/14 13:22
13F:→ YoursEver: 內部. 05/14 13:22
14F:→ YoursEver:(4) barycentric coordinate去找wiki,有closed form. 05/14 13:23