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 Answered by Supoj Choachaicharoenkul

Supoj Choachaicharoenkul (view profile)

on 2 Oct 2019 at 4: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.

Products

Answer by MathWorks Support Team

MathWorks Support Team (view profile)

on 3 Jan 2019

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:

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.

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
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. 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