如何在Matlab中绘制圆圈?

Han*_*nah 3 matlab plot figure

我想知道如何在知道中心和半径的matlab中绘制圆圈?我试过circle()似乎不起作用,因为我的matlab版本没有它.我知道我可以使用Rectangle函数来执行此操作,但这是一种相当复杂的方法,因为我需要每次都计算出最左边的点.是不是有一个更简单的方法让我画一个圆刚刚知道中心和半径?

非常感谢

the*_*alk 17

不要笑,但最简单的就是使用这个rectangle功能,的确;)

%// radius
r = 2;

%// center
c = [3 3];

pos = [c-r 2*r 2*r];
rectangle('Position',pos,'Curvature',[1 1])
axis equal
Run Code Online (Sandbox Code Playgroud)

但是将矩形的曲率设置为1!

position矢量定义的矩形区域,前两个值xy是矩形的左下角.最后两个值定义矩形的宽度和高度.

pos = [ [x y] width height ]
Run Code Online (Sandbox Code Playgroud)

左下边角的圆-是的,这个圈子里有角,虚者虽然-是中心 c = [3 3] 减去半径 r = 2[x y] = [1 1].宽度高度等于圆的直径,所以width = 2*r; height = width;

在此输入图像描述


如果您不喜欢上述解决方案的平滑性,则无法使用通过使用三角函数绘制实际圆的明显方法.

%// number of points
n = 1000;

%// running variable
t = linspace(0,2*pi,n);

x = c(1) + r*sin(t);
y = c(2) + r*cos(t);

%// draw line
line(x,y)

%// or draw polygon if you want to fill it with color
%// fill(x,y,[1,1,1])
axis equal
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述