MATLAB Answers ## How do I plot a circle with a given radius and center?

Asked by MathWorks Support Team

### MathWorks Support Team (view profile)

on 26 Jul 2010
Latest activity Commented on by ceethal piyus

### ceethal piyus (view profile)

on 16 May 2019 at 9:01
Accepted Answer by MathWorks Support Team

### MathWorks Support Team (view profile)

I would like to plot a circle with a given radius and center.

## 3 Answers ### MathWorks Support Team (view profile)

Answer by MathWorks Support Team

### MathWorks Support Team (view profile)

on 3 Jan 2019
Accepted Answer

Here is a MATLAB function that plots a circle with radius 'r' and locates the center at the coordinates 'x' and 'y':
function h = circle(x,y,r)
hold on
th = 0:pi/50:2*pi;
xunit = r * cos(th) + x;
yunit = r * sin(th) + y;
h = plot(xunit, yunit);
hold off
An alternative method is to use the 'rectangle' function:
function h = circle2(x,y,r)
d = r*2;
px = x-r;
py = y-r;
h = rectangle('Position',[px py d d],'Curvature',[1,1]);
daspect([1,1,1])
If you are using version R2012a or later and have Image Processing Toolbox, then you can use the 'viscircles' function to draw circles:
viscircles(centers,radii)

Walter Roberson

### Walter Roberson (view profile)

on 25 Oct 2016
Chinthamakula Saikiran

### Chinthamakula Saikiran (view profile)

on 26 Jul 2017
Thanks and we want answer to plot circle when they have given us centre and a point on the circle
Michael Abboud

### Michael Abboud (view profile)

on 1 Aug 2017
If you would like to plot a circle given two points [Center, Point on circle], rather than [Center, Radius], you can simply calculate the distance between your two points, and then use that distance as the radius.

Sign in to comment.

Answer by serwan Bamerni

on 17 Feb 2016

Walter Roberson

### Walter Roberson (view profile)

on 17 Oct 2016
This is part of the Image Processing Toolbox
ceethal piyus

### ceethal piyus (view profile)

on 16 May 2019 at 9:01
I've applied circular hough tranform for identifing the circlular objects in an image and i got the results . But when i used the code into an app designer, insted of ploting the circles into the image where the centers are marked its ploting the circle in a different figure. How can i get both circles and center points into the same axes ( named "app.segmented" ) error How to add the axes name to viscircles function in an app designer. I tired
viscircles(centres,radii,'color','b','parent','app.segemented'); which is giving the following error. Sign in to comment.

Answer by amine bouabid

### amine bouabid (view profile)

on 23 Jul 2018
Edited by amine bouabid

### amine bouabid (view profile)

on 23 Jul 2018

hello
you can plot a circle simply by writing :
syms x; syms y;
ezplot((x-xi).^2+(y-yi).^2-r.^2)
where xi and yi are the coordinates of the center and r is the radius

#### 0 Comments

Sign in to comment.