Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab中的填充半圆_Matlab_Plot_Geometry_Matlab Figure - Fatal编程技术网

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

在Matlab中如何绘制关于特定点的填充圆,有什么好的技巧吗?我已经找到了法向圆的解,但我不知道如何填充它

我需要这个,因为我应该有一个圆圈,每一半上有两种不同的颜色。这可能吗


提前感谢您

使用
'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)]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;