Draw circle in a rectangular

16 ビュー (過去 30 日間)
Hussein Haider
Hussein Haider 2023 年 1 月 17 日
コメント済み: Hussein Haider 2023 年 1 月 18 日
How to draw a Matlab code that draws a red circle with radius 1 at the center of a green square of sides 20. The square borders should be blue.

採用された回答

Matt J
Matt J 2023 年 1 月 17 日
編集済み: Matt J 2023 年 1 月 18 日
s=([0 0 ; 0 1; 1 1; 1 0]-1/2)*20;
t=linspace(0,360,1000)';
c=[cosd(t), sind(t)];
patch('XData',s(:,1),'YData',s(:,2),'FaceColor','g','EdgeColor','b','LineWidth',3);
patch('XData',c(:,1),'YData',c(:,2),'FaceColor','r','LineStyle','none');
axis equal
  2 件のコメント
Hussein Haider
Hussein Haider 2023 年 1 月 18 日
The edges are not blue
Matt J
Matt J 2023 年 1 月 18 日
編集済み: Matt J 2023 年 1 月 18 日
The edges are blue, but the thickness can be increased, which I have now done.

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

その他の回答 (2 件)

Matt J
Matt J 2023 年 1 月 17 日
編集済み: Matt J 2023 年 1 月 17 日
c=nsidedpoly(1000);
s=subtract(nsidedpoly(4,'Side',20),c);
h=plot([c,s]); axis equal
h(1).FaceColor='red';
h(1).FaceAlpha=1;
h(2).FaceColor='green';
h(2).EdgeColor='blue';
  2 件のコメント
Hussein Haider
Hussein Haider 2023 年 1 月 17 日
Untitled
Undefined function 'nsidedpoly' for input arguments of type 'double'.
Error in Untitled (line 1)
c=nsidedpoly(1000);
Hussein Haider
Hussein Haider 2023 年 1 月 17 日
i use MATLAB R2014a

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


Matt J
Matt J 2023 年 1 月 17 日
編集済み: Matt J 2023 年 1 月 18 日
N=500;
[x,y]=ndgrid(linspace(-10,10,N));
cmsk=x.^2+y.^2>=1;
emsk=padarray(zeros(N-6),[3,3],1);
[R,G,B]=deal(~cmsk&~emsk,cmsk&~emsk,emsk);
I=cat(3,R,G,B);
imshow(I)
  3 件のコメント
Matt J
Matt J 2023 年 1 月 18 日
Now they are.
Hussein Haider
Hussein Haider 2023 年 1 月 18 日
thank u

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

カテゴリ

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

タグ

製品


リリース

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by