作者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