不要笑,但最简单的是使用
rectangle功能,确实;)
%// radius
r = 2;
%// center
c = [3 3];
pos = [c-r 2*r 2*r];
rectangle('Position',pos,'Curvature',[1 1])
axis equal
但是将矩形的曲率设置为1!
位置向量定义矩形,前两个值x和y是矩形的左下角.最后两个值定义矩形的宽度和高度.
pos = [ [x y] width height ]
圆圈的左下角 – 是的,这个圆圈有角落,但是假想的是 – 中心是c = [3 3]减去半径r = 2,即[x y] = [1 1].宽度和高度等于圆的直径,所以width = 2 * r;高度=宽度;
如果您不喜欢上述解决方案的平滑性,则无法使用通过使用三角函数绘制实际圆的明显方法.
%// 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