4.5

4.5 | 6 ratings Rate this file 94 Downloads (last 30 days) File Size: 2.04 KB File ID: #27703
image thumbnail

Draw a filled circle

by

 

Plots a filled circle with given radius, center and color.

| Watch this File

File Information
Description

FILLEDCIRCLE Filled circle drawing

filledCircle(CENTER,R,N,COLOR) draws a circle filled with COLOR that has CENTER as its center and R as its radius, by using N points on the periphery.

Usage Examples,

filledCircle([1,3],3,1000,'b');
filledCircle([2,4],2,1000,'r');

If you would like to generate the screenshot image above, you could do this:

filledCircle([1,3],3,100,'k');
hold on
filledCircle([-0.25,4.25],1,100,'r');
filledCircle([2.5,3],1,100,'g');
filledCircle([0.1,1.7],1,100,'b');
axis off

Best.

Acknowledgements

Draw A Circle. inspired this file.

This file inspired Circle Plotter.

MATLAB release MATLAB 7.10 (R2010a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (10)
06 Dec 2013 Mohammad

Thanks a lot for sharing your cleverness ...

14 Nov 2013 Alex R.

I know this is old but I wanted to note that it can be done easier and faster as follows:

t = 2*pi/N*(1:N);
fill(c(1)+r*cos(t), c(2)+r*sin(t), color);

Also note that you don't need both 0 and 2pi (they are the same polar point). Your code actually generates N+1 points.

[ depending on N, the above can be substantially faster than using linspace() + ones() + pol2cart() ]

Alex.

03 Apr 2013 David-Leon

This addon has a bug (I guess). It changes the aspect ratio of my plot.

06 Dec 2012 Sadik

Hi Irvin,

I am not sure I understand your question thoroughly but here is what you can do for transparency:

% Filled object becomes more and more transparent as the following variable [transp] goes to zero. [Max value is 1]
transp = 0.5;
set(h,'FaceAlpha',transp);

Best.

05 Dec 2012 irvin rynning

In the code using a white fill
h=fill(X,Y,'w');
results in the same circle with white center.
how to make it transparent ?

11 Mar 2012 Aziz  
29 Jan 2011 Sadik

Hi Catalin,

You may want to check if you are playing with the axes, especially whether or not the code is making a zooming effect.

If you can't figure that out, using the clf command of matlab, or closing and reopening the figure window at each iteration should solve the problem.

Best.

24 Jan 2011 AwedBy Matlab

Hi Sadik, I am having some problems using filledCircle - the first time I use the function to draw a couple of circles, they are displayed at a certain size, but then the second time (e.g. second iteration of a for loop) they are displayed slightly bigger, even though the function was called with the same RADIUS parameter. Do you know why that might be? Thanks very much!

15 Jan 2011 AwedBy Matlab

Very useful, thank you!

25 Sep 2010 Tima Tima

Thank you for more simple and more useable code

Contact us