设置值为元素在一个多边形

2视图(30天)
安迈
安迈 2021年8月7日
评论道: 安迈2021年8月9日
你好,
我新的多边形Matlab和试图解决一个问题。
我想创建一个随机二维矩阵,比方说100年到100年作为一个域。
域= 1 (100);
然后输入多边形的x和y坐标,我想画多边形,多边形内的所有元素设置为不同的值。
十五= (40、50、60、50、40);
青年志愿= [60]60、50、60、70;;
图(十五,青年志愿)%绘制多边形
在= inpolygoon (yq xq,十五,十五);
域()= 2;
我困在这里,我不知道如何定义xq和yq完成inpolygon语法。请帮助:(。
谢谢大家。

接受的答案

马特·J
马特·J 2021年8月7日
编辑:马特·J 2021年8月7日
如果你有图像处理工具箱,
域= 1 (100);
十五= (40、50、60、50、40);
青年志愿= [60]60、50、60、70;;
在= roipoly(域、十五、青年志愿);
域()= 2;
imshow(域);caxis ((0, 2))
3评论
安迈
安迈 2021年8月9日
是的,这是真的。这就是为什么我说它看起来业余:))。再次感谢你的解决方案。

登录置评。

答案(1)

肖恩·德Wolski
肖恩·德Wolski 2021年8月7日
沿着这条线也会工作。请注意,您可能需要处理x / y诉行/坳索引(meshgrid换成ndgrid)。
域= 1 (100);
[xx, yy] = meshgrid (1:10 0);
十五= (40、50、60、50、40);
青年志愿= [60]60、50、60、70;;
%情节(十五,青年志愿)%绘制多边形
xvec = xx (:);
yvec = yy (:);
在= inpolygon (xx (:), yy(:),十五,青年志愿);
域(sub2ind (100 [100], xvec(在),yvec ())) = 2;
imshow(域);caxis ((0, 2))
1评论
马特·J
马特·J 2021年8月8日
不需要 sub2ind 我可以看到:
域(inpolygon (xx (:), yy(:),十五,青年志愿))= 2;

登录置评。

标签

s manbetx 845


释放

R2021a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!