how can i create this image in matlab

1 回表示 (過去 30 日間)
JIBIN
JIBIN 2023 年 5 月 23 日
コメント済み: DGM 2023 年 6 月 20 日
  5 件のコメント
DGM
DGM 2023 年 5 月 24 日
編集済み: DGM 2023 年 5 月 24 日
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?
JIBIN
JIBIN 2023 年 5 月 27 日
this is a single image.

サインインしてコメントする。

採用された回答

DGM
DGM 2023 年 5 月 27 日
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 件のコメント
JIBIN
JIBIN 2023 年 6 月 19 日
how can i convert this into a function. and when i call the function i want to get the image
DGM
DGM 2023 年 6 月 20 日

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImages についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by