2013-08-29 47 views
1

我有四点与我取得使用多边形MATLAB如何形成在Matlab上的一个矩形网格

x = [2271 -3645 -2267 3645]; 
y = [-3635 -2259 3639 2254]; 

figure; 
plot([x x(1)],[y y(1)],'r-'); 

我有一个多边形,我需要生成50 * 50的矩形上方网格区间

我试了zgrid函数,但没有给出结果。

我需要在该多边形上的2D网格,我需要将网格点放入文件中。

请帮我提前

+0

目前尚不清楚对电网的点是否应在多边形内或简单地跨越多边形... –

回答

1

可以计算与meshgrid MATLAB的内置功能的网格解决这个

感谢,并与mesh例如绘制。网格坐标存储在XY中。

这里您定义的多边形绘制在网格的顶部。下面的代码

x = [2271 -3645 -2267 3645]; 
y = [-3635 -2259 3639 2254]; 

outside = 100; 
grid_val = 50; 

figure('Color','w'); 
[X,Y] = meshgrid(min(x)-outside:grid_val:max(x)+outside, min(y)-outside:grid_val:max(y)+outside); 
hold on; 
hm = mesh(X,Y,X*0); 
hp = plot([x x(1)],[y y(1)],'r-'); 
set(hm,'EdgeColor','k') 
set(hp,'LineWidth',2) 
set(gca,'Visible','off'); 

给出了以下电网(全和缩放)

enter image description here enter image description here

4

要生成局限在多边形的内部,你可以做以下的点网格:

[X,Y]=meshgrid(linspace(min(x),max(x),round((max(x)-min(x))/50)),linspace(min(y),max(y),round((max(y)-min(y))/50))); 
isin=inpolygon(X(:),Y(:),[x x(1)],[y y(1)]); 
Xin = X(isin); 
Yin = Y(isin); 

这里[Xin, Yin]包含网格顶点的坐标。

enter image description here

+0

你可以为您提供用于生成图像,或只是一些提示,你的绘图代码? –