Meshing a 2D contour plot

8 ビュー (過去 30 日間)
Elliot Bontoft
Elliot Bontoft 2020 年 5 月 14 日
回答済み: Jiexian Ma 2025 年 4 月 6 日
I am looking to create a mesh within the lines of a 2D contour plot.
For example, with the code:
f = peaks;
contour(f,[2 2])
You achieve the following plot:
I would like to be able to generate a mesh inside and outside of the contour lines (within a domain of say 50x50 for this example).
Could someone suggest the best way to achieve this?
Thank you in advance.
  2 件のコメント
Ameer Hamza
Ameer Hamza 2020 年 5 月 14 日
Are you trying to create a mesh plot? If you want to plot both inside and outside the contour lines, isn't it the same as a regular mesh plot? Can you show an example image of what is your intended output?
Elliot Bontoft
Elliot Bontoft 2020 年 5 月 14 日
I am trying to develop a finite element mesh, both inside and outside the contour lines, where the nodes align on the contours themselves.
Something like:
but with the inside of the shape meshed too.
Where the shape would be defined by the contour lines from the contour(f,[2 2]) function.
Thanks

サインインしてコメントする。

採用された回答

darova
darova 2020 年 5 月 14 日
Use initmesh
clc,clear
x1 = [0 5 5 0]; % rectangle
y1 = [0 0 3 3];
[x2,y2] = pol2cart(0:.3:2*pi,1); % circle
gd2 = [2;length(x2);x2(:)+1.5;y2(:)+1.5]; % circle geometry
gd1 = gd2*0;
gd11 = [2;length(x1);x1(:);y1(:)]; % rectangle geometry
gd1(1:length(gd11)) = gd11;
dl = decsg([gd1 gd2],'P1-P2',char('P1','P2')'); % decomposition geometry
[p,e,t] = initmesh(dl); % build a mesh
pdemesh(p,e,t) % display mesh
dl2 = decsg(gd2); % decomposition of circle
[p,e,t] = initmesh(dl2); % build a mesh
hold on
pdemesh(p,e,t) % display emsh
hold off
  4 件のコメント
darova
darova 2020 年 5 月 19 日
Can be connected closer
Elliot Bontoft
Elliot Bontoft 2020 年 5 月 20 日
Hi Darova,
I see what you've done there, very clever work around. However, I will be using this meshed model to run a simulation on, and the boundaries will influence the behaviour of the response.
Thank you for the suggestions

サインインしてコメントする。

その他の回答 (1 件)

Jiexian Ma
Jiexian Ma 2025 年 4 月 6 日
As far as I know, there are two ways to do this.
Personally, I perfer method 2 because you can edit polyshape object easily.
You could check demo14 to demo17 in Im2mesh package. I provide a few examples.

カテゴリ

Help Center および File ExchangeGeometry and Mesh についてさらに検索

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by