[討論] 請教在限定區域內隨機選點問題

看板MATLAB作者 (hao)時間12年前 (2013/05/14 02:01), 編輯推噓0(0014)
留言14則, 2人參與, 最新討論串1/3 (看更多)
http://imgur.com/ByfHnxS
我想在一個三角型區域內(不能超出),隨機選一個點,點的位置如圖中安排所表示 共14個點 每個點(x1,y1)之間的間隔是δ=25mm 能不能建立一條數學式當我輸入一個δ就能自動建立出點(x1,y1) 並隨機選取 小弟想法是不斷使用 if .....elseif....elseif.....end 去判斷 但試了結果都不做不出來 請教有人能幫忙解答嗎 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.27.33.82

05/14 03:19, , 1F
第一時間的想法, 先在125x200內隨機選一個點
05/14 03:19, 1F

05/14 03:22, , 2F
tx=δ:δ:125; idx=randperm(numel(tx)); x1=tx(idx(1));
05/14 03:22, 2F

05/14 03:22, , 3F
y1亦同理 之後分別檢查x1, y1是否落在你要的三角形
05/14 03:22, 3F

05/14 03:23, , 4F
不是的話選取下一個idx, 用while來判斷即可
05/14 03:23, 4F

05/14 03:23, , 5F
注意x, y是分別判斷
05/14 03:23, 5F

05/14 03:23, , 6F
tx=δ:δ:125-δ; sorry
05/14 03:23, 6F

05/14 03:24, , 7F
抱歉想想應該一組一組判斷 所以應該列出idx_x, idx_y 之後
05/14 03:24, 7F

05/14 03:25, , 8F
隨機排列所有(x.y)的組合 之後一組一組檢查
05/14 03:25, 8F

05/14 13:19, , 9F
(1) 根據 \delta 畫 grid point.
05/14 13:19, 9F

05/14 13:20, , 10F
(2) grid point的座標+三角型頂點座標-->算三角坐標系
05/14 13:20, 10F

05/14 13:20, , 11F
(barycentric coordinate)的係數.
05/14 13:20, 11F

05/14 13:22, , 12F
(3) 三角坐標系的係數a,b,c都在[0,1]之間時,點在三角型
05/14 13:22, 12F

05/14 13:22, , 13F
內部.
05/14 13:22, 13F

05/14 13:23, , 14F
(4) barycentric coordinate去找wiki,有closed form.
05/14 13:23, 14F
文章代碼(AID): #1HaIgEhf (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1HaIgEhf (MATLAB)