generate 3d periodic geometry matlab

I would like to generate three dimensional periodoc images for academic pappers. One such image would be randomoly placed elipses inside a cube to represent the propogation of flat cracks inside a matrix. Sililarly randomly placed oblate spheroidsinside a cube to reperesent diffuse porosity in a highly porous medium. I would like to generate an image that resembles the image shown below.
I have a piece of code that does increment this the value ϵ giving the desired loss of stiffness within the matrix material
Thanks in advance

 採用された回答

Matt J
Matt J 2022 年 12 月 8 日

0 投票

P=scale(nsidedpoly(1000),[1,2]*0.1);
X=P.Vertices(:,1); Y=P.Vertices(:,2); Z=0*X;
for i=1:30
patch(X+rand,Y+rand,Z+rand,'b','FaceAlpha',0.2);
end
view(3); shg; axis equal

1 件のコメント

A Poyser
A Poyser 2022 年 12 月 8 日
Wow awesome, thank you so much. I guess an obvious follow-up question (or three) would be, is it possible to maintain an axis of 0 - 1 on all three axes no-matter what value n is in the expression i = 1:n? Could I also hide the values on the axis while enclosing the area in a cube (as seen in the examples)? Also could I make a nested loop so I can run for i=1:n for several values [5, 10, 50 100] for example?
Thanks again
Alex

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImage Processing Toolbox についてさらに検索

製品

リリース

R2022b

タグ

質問済み:

2022 年 11 月 17 日

コメント済み:

2022 年 12 月 8 日

Community Treasure Hunt

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

Start Hunting!

Translated by