Draw circle in a rectangular

11 visualizzazioni (ultimi 30 giorni)
Hussein Haider
Hussein Haider il 17 Gen 2023
Commentato: Hussein Haider il 18 Gen 2023
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.

Risposta accettata

Matt J
Matt J il 17 Gen 2023
Modificato: Matt J il 18 Gen 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 Commenti
Hussein Haider
Hussein Haider il 18 Gen 2023
The edges are not blue
Matt J
Matt J il 18 Gen 2023
Modificato: Matt J il 18 Gen 2023
The edges are blue, but the thickness can be increased, which I have now done.

Accedi per commentare.

Più risposte (2)

Matt J
Matt J il 17 Gen 2023
Modificato: Matt J il 17 Gen 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 Commenti
Hussein Haider
Hussein Haider il 17 Gen 2023
Untitled
Undefined function 'nsidedpoly' for input arguments of type 'double'.
Error in Untitled (line 1)
c=nsidedpoly(1000);
Hussein Haider
Hussein Haider il 17 Gen 2023
i use MATLAB R2014a

Accedi per commentare.


Matt J
Matt J il 17 Gen 2023
Modificato: Matt J il 18 Gen 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)

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Tag

Prodotti


Release

R2014a

Community Treasure Hunt

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

Start Hunting!

Translated by