how can i create this image in matlab

3 views (last 30 days)
JIBIN
JIBIN on 23 May 2023
Commented: DGM on 20 Jun 2023
  5 Comments
DGM
DGM on 24 May 2023
Edited: DGM on 24 May 2023
Is that supposed to be one object, or nine adjacent objects with different color/hatch fills?
Are the dimensioning marks required in the output?
What is the intended output? Do you want a ephemeral graph in a figure, or a raster image array that can be saved? Or are you trying to actually create some sort of vector image or STL file?
EDIT:
Also, how exactly is the length of the object defined?
  • Is it defined as certain number of edge cycles N of length period, such that the object is N*period long?
  • Is the object length + period/2 long -- in which case there are 1+(length - period/2)/period edge cycles? Is there any assurance that (length - period/2) is integer-divisible by period?
  • Is there a certain number of edge cycles N-1/2 within length -- in which case period is length/(N - 1/2)?
What are the actual parameters that unambigiously and completely describe the object geometry?

Sign in to comment.

Accepted Answer

DGM
DGM on 27 May 2023
Without clarification, I'm going to take the liberty to assume that you want a plain line plot with no dimensioning marks.
% parameters
l = 100;
w = 50;
x = 10;
y = 10;
n = 4;
% build one cycle
xx = [0 x x l/n];
yy = [0 0 y y];
% expand to n cycles on one side
xx = reshape(xx(:) + (0:n-1)*l/n,1,[]);
yy = repmat(yy,1,n);
% flip to create other side
xx = [xx flip(xx)];
yy = [yy w-flip(yy)];
% close the path
xx = xx([1:end 1]);
yy = yy([1:end 1]);
plot(xx,yy)
axis equal
  2 Comments
JIBIN
JIBIN on 19 Jun 2023
how can i convert this into a function. and when i call the function i want to get the image

Sign in to comment.

More Answers (0)

Categories

Find more on Image Processing Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!