Matlab绘制二维圆环和三维圆环
画圆参考:
MATLAB绘图笔记——画圆的几种方法
一、画二维圆环
方法1:利用rectangle函数(不支持透明度)
figure
rectangle('Position',[0,0,5,5],'Curvature',[1,1],'facecolor', [1 0 0], 'edgecolor', 'none');
hold on
rectangle('Position',[1,1,3,3],'Curvature',[1,1],'facecolor', [1 1 1], 'edgecolor', 'none');
axis equal
axis off
方法2:利用patch函数(支持透明度)
figure
t = 0 : .1 : 2 * pi;
x2 = 2.5 * cos(t);
y2 = 2.5 * sin(t);
cmap = [1,0,0];
patch(x2, y2, cmap, 'facealpha', 0.4, 'edgecolor', 'none'); %// plot filled circle with transparency
hold on
x3 = 1.5 * cos(t);
y3 = 1.5 * sin(t);
cmap = [1,1,1];
patch(x3, y3, cmap, 'facealpha', 1, 'edgecolor', 'none'); %// plot filled circle with transparency
axis equal
axis off
二、画三维圆环
figure
r = linspace(0,2*pi,60);
s = linspace(0,pi,60);
[u,v] = meshgrid(r,s);
x = 2*(8+cos(v)).*cos(u);
y = 2*(8+cos(v)).*sin(u);
z = 2*2*sin(v);
mesh(x,y,z);
colormap
axis equal
axis off
补充
figure
t = 0 : .1 : 2 * pi;
x1 = 2.5 * cos(t);
y1 = 2.5 * sin(t);
x_1 = [x1(1:21);x1(22:42);x1(43:end)]';
y_1 = [y1(1:21);y1(22:42);y1(43:end)]';
cmap = hsv(21);
patch(x_1, y_1, cmap, 'facealpha', 1, 'edgecolor', 'none'); %// plot filled circle with transparency
axis equal
axis off
weixin_45011397: 没反 坐标轴旋转就是这个符号 你说的应该是向量旋转,他们正好差个-
风中小伙伴: 是啊 基本旋转矩阵搞错了把他
weixin_55175382: 未检测到相机的问题解决了吗
我还能学,: 请问右侧相机检测不到是什么原因
weixin_54347783: 左侧检测不到相机是什么原因