how to create a mesh within the geometry?

조회 수: 12 (최근 30일)
Pooneh Shah Malekpoor
Pooneh Shah Malekpoor 2023년 3월 24일
답변: Adam Danz 2023년 3월 25일
Hi
There is a geometry like :
How to plot the meshed geometry like this ?lets say the mesh dimension is 1*1
  댓글 수: 2
Joe Vinciguerra
Joe Vinciguerra 2023년 3월 24일
What have you tried so far?
Do you just need to display the shape with gridlines, or is there underlying data that needs to be mapped or otherwise associated to the grid?
Pooneh Shah Malekpoor
Pooneh Shah Malekpoor 2023년 3월 24일
I have used Plot command but it is not generating regular meshed geometry! I just need the shape with gridlines for this 45 deg sloped geometry

댓글을 달려면 로그인하십시오.

답변 (1개)

Adam Danz
Adam Danz 2023년 3월 25일
This solution creates a grid based on the coordinates stored in xy. It then removes any grid coordinates outside of the polygon defined by xy by replacing those values with NaN. The grid is plotted using surf() and the polygon perimeter is plotting using polyshape/plot.
% nx2 [x,y] values that define the polygon
xy = [0 0; 20 0; 25 -5; 45 -5; 45 -10; 0 -10];
% Compute the grid covering the entire extent of the polygon
interval = 1;
xGridVals = min(xy(:,1)) : interval : max(xy(:,1));
yGridVals = min(xy(:,2)) : interval : max(xy(:,2));
[xg,yg] = meshgrid(xGridVals ,yGridVals);
% Remove grid values outside of the polygon
[in,on] = inpolygon(xg,yg,xy(:,1),xy(:,2));
xg(~(in|on)) = NaN;
yg(~(in|on)) = NaN;
% Plot the grid & Polygon
surf(xg,yg,zeros(size(xg)),'FaceColor','none')
hold on
plot(polyshape(xy(:,1),xy(:,2)),'FaceColor','none')
axis equal
view(2)
grid off

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by