Hi all:
I've been searching how to fill a circle created by the viscircles function with a hatched pattern like '\' but all the functions posted on mathworks have resulted unsuccessful or with errors that I can't (or don't know how) to fix. Is there any easy way? The code I used to create such circle:
viscircles([0 0],2,'color',[0 0 0]);
Thank you.

 Réponse acceptée

darova
darova le 11 Sep 2019
Try this
clc,clear
% generate points on the circel with equal spaces
y = linspace(-1,1,20);
x = sqrt(1-y.^2);
a = 20; % angle of lines
% rotation matrix
R = [cosd(a) -sind(a); sind(a) cosd(a)];
X = [-x; x]; % add another side of X
Y = [ y; y];
V = R*[X(:) Y(:)]'; % rotate
X = reshape(V(1,:),2,[]);
Y = reshape(V(2,:),2,[]);
plot(X,Y,'k') % Hatch pattern
hold on
viscircles([0 0],1);
hold off

2 commentaires

AlphaReign
AlphaReign le 11 Sep 2019
Worked out wonderfully, thanks!
Shubhobrata
Shubhobrata le 15 Sep 2020
good one. thanks

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

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

Community Treasure Hunt

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

Start Hunting!

Translated by