Matlab中的填充半圆
在Matlab中如何绘制关于特定点的填充圆,有什么好的技巧吗?我已经找到了法向圆的解,但我不知道如何填充它 我需要这个,因为我应该有一个圆圈,每一半上有两种不同的颜色。这可能吗Matlab中的填充半圆,matlab,plot,geometry,matlab-figure,Matlab,Plot,Geometry,Matlab Figure,在Matlab中如何绘制关于特定点的填充圆,有什么好的技巧吗?我已经找到了法向圆的解,但我不知道如何填充它 我需要这个,因为我应该有一个圆圈,每一半上有两种不同的颜色。这可能吗 提前感谢您使用'Curvature'属性等于[1]绘制填充圆,并将'Facecolor'属性设置为所需的填充颜色: rectangle('Position',[10 10 20 20], 'Curvature',[ 1 1], 'Facecolor','b', 'Edgecolor','k'); axis equal
提前感谢您使用
'Curvature'
属性等于[1]
绘制填充圆,并将'Facecolor'
属性设置为所需的填充颜色:
rectangle('Position',[10 10 20 20], 'Curvature',[ 1 1], 'Facecolor','b', 'Edgecolor','k');
axis equal
您可以定义一组多边形顶点,并使用
面片
或填充
(全圆)进行打印
这是一个多一点的代码比解决方案。但是,如果您希望拥有一组多边形,并且希望对所有多边形都一视同仁,那么它可能很有用
编辑
此代码将给出两个单独着色的半圆
r = 1;
phi = 0:0.01:pi;
x = r*cos(phi); x = [x,x(1)];
y = r*sin(phi); y = [y,y(1)];
patch(x,y,'b');
x2 = r*cos(pi+phi); x2 = [x2,x2(1)];
y2 = r*sin(pi+phi); y2 = [y2,y2(1)];
patch(x2,y2,'r');
axis equal;
Matlab是如此的逻辑:一个圆是一个正方形,四个角都是100%圆!对我总是觉得有趣的是,
rectangle
被用来画圆:-)这个答案可以很容易地概括为两个半圆形,每个半圆形上有不同的颜色,就像OPwants@LuisMendo好的,我修好了。谢谢,我用这个代码生成了一个半填充的半圆-我把它一个b
改为w
,另一个b
改为k
。我想知道像x=[x,x(1)]这样的命令需要什么代码>x2=[x2,x2(1)]代码>和类似的一个。至少对我来说,这没有任何改变。我在这里有什么错误的说法吗?@sreerajt你有什么问题吗,还是只是一个x=[x,x(1)]的评论?我在2020a上试过这个,它对我有效。至于x=[x,x(1)]原因消失在时间的沙子里。代码所做的是将图形的最后一个点连接回第一个点。我不知道我为什么这样做。在编写代码时,可能是patch方法导致了此问题,但也可能是始终连接图形的一般意图。@patrik,我没有遇到任何问题,但我只是好奇代码的这一部分做了什么。谢谢
r = 1;
phi = 0:0.01:pi;
x = r*cos(phi); x = [x,x(1)];
y = r*sin(phi); y = [y,y(1)];
patch(x,y,'b');
x2 = r*cos(pi+phi); x2 = [x2,x2(1)];
y2 = r*sin(pi+phi); y2 = [y2,y2(1)];
patch(x2,y2,'r');
axis equal;