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

 Accepted Answer

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 Comment

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

Sign in to comment.

More Answers (0)

Categories

Products

Release

R2022b

Tags

Asked:

on 17 Nov 2022

Commented:

on 8 Dec 2022

Community Treasure Hunt

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

Start Hunting!