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

看板MATLAB作者 (eji)時間12年前 (2013/05/14 14:59), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串3/3 (看更多)
※ 引述《wwe00222 (hao)》之銘言: : http://imgur.com/ByfHnxS
: 我想在一個三角型區域內(不能超出),隨機選一個點,點的位置如圖中安排所表示 : 共14個點 : 每個點(x1,y1)之間的間隔是δ=25mm : 能不能建立一條數學式當我輸入一個δ就能自動建立出點(x1,y1) : 並隨機選取 : 小弟想法是不斷使用 if .....elseif....elseif.....end 去判斷 : 但試了結果都不做不出來 : 請教有人能幫忙解答嗎 謝謝!! 我的想法是先把格子點全部產生 用inpolygon指令把三角形內部點挑出 再用randsample隨機取一個三角形內部點的指標 程式碼如下 trix=[0 125 0 0];%三角形頂點x座標 triy=[0 0 200 0];%三角形頂點y座標 delta=25; x=delta:delta:125-delta; y=delta:delta:200-delta; [xx,yy]=meshgrid(x,y);%產生格子點 in=inpolygon(xx,yy,trix,triy);%判斷格子點是否在三角形內 xx=xx(in); yy=yy(in); L=length(xx); id=randsample(L,1);%隨機產生一個指標 xp=xx(id); yp=yy(id); plot(trix,triy,xx,yy,'ro',xp,yp,'k+') -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.121.146.175

05/15 12:02, , 1F
謝謝!!!!
05/15 12:02, 1F
文章代碼(AID): #1HaU3cfK (MATLAB)
文章代碼(AID): #1HaU3cfK (MATLAB)