看板 MATLAB 關於我們 聯絡資訊
※ 引述《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
wwe00222:謝謝!!!! 05/15 12:02