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.

 Réponse acceptée

Matt J
Matt J le 17 Jan 2023
Modifié(e) : Matt J le 18 Jan 2023
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 commentaires

Hussein Haider
Hussein Haider le 18 Jan 2023
The edges are not blue
Matt J
Matt J le 18 Jan 2023
Modifié(e) : Matt J le 18 Jan 2023
The edges are blue, but the thickness can be increased, which I have now done.

Connectez-vous pour commenter.

Plus de réponses (2)

Matt J
Matt J le 17 Jan 2023
Modifié(e) : Matt J le 17 Jan 2023
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 commentaires

Untitled
Undefined function 'nsidedpoly' for input arguments of type 'double'.
Error in Untitled (line 1)
c=nsidedpoly(1000);
Hussein Haider
Hussein Haider le 17 Jan 2023
i use MATLAB R2014a

Connectez-vous pour commenter.

Matt J
Matt J le 17 Jan 2023
Modifié(e) : Matt J le 18 Jan 2023
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 commentaires

Hussein Haider
Hussein Haider le 18 Jan 2023
The edges are not blue
Matt J
Matt J le 18 Jan 2023
Now they are.
Hussein Haider
Hussein Haider le 18 Jan 2023
thank u

Connectez-vous pour commenter.

Catégories

En savoir plus sur Mathematics dans Centre d'aide et File Exchange

Produits

Version

R2014a

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by