how can i create this image in matlab
1 view (last 30 days)
Show older comments
5 Comments
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?
Accepted Answer
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
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!