how can i create this image in matlab

5 Comments

Trivial. You already have the image. So read it into MATLAB, using imread.
i want to create this image using different functions in matlab
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?
this is a single image.

Sign in to comment.

 Accepted Answer

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

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 Images in Help Center and File Exchange

Asked:

on 23 May 2023

Commented:

DGM
on 20 Jun 2023

Community Treasure Hunt

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

Start Hunting!