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

: 我想在一個三角型區域內(不能超出),隨機選一個點,點的位置如圖中安排所表示
: 共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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):