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

Find more on Interactions, Camera Views, and Lighting in Help Center and File Exchange

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!