如何给椭圆之间的空间上色?
5次浏览(过去30天)
显示旧的注释
答案(3)
Torsten
2022年10月26日
编辑:Torsten
2022年10月26日
V = -6:0.001:6;%绘图范围从-5到5
[x y] = meshgrid(v);%得到x和y的二维网格
Cond1 = x.^2 + y.^2/4 >= 1;%检查这些值的条件
Cond2 = x.^2 + y.^2/4 <= 4;
Cond3 = x >= 0;
Cond4 = y >= 0;
Cond1 = double(Cond1);%转换为double用于绘图
Cond2 = double(Cond2);
Cond3 = double(Cond3);
Cond4 = double(Cond4);
cond1(cond1 == 0) = NaN;%将0设置为NaN,这样它们就不会被绘制
cond2(cond2 == 0) = NaN;
cond3(cond3 == 0) = NaN;
cond4(cond4 == 0) = NaN;
Cond = cond1.*cond2.*cond3.*cond4;乘以条件,只保留共同点
冲浪(x, y,气孔导度)
视图(0,90)%改变到顶视图
0评论
Vasudev bloom
2022年10月26日
另一种解决方法,如果你在处理径向坐标。
X1 = linspace(0,1100);生成x坐标的第一组。更改前两个参数以获得不同的范围
Y1 = 2*√(1-x1.^2);
X2 = linspace(0,2,100);生成第二组x坐标。更改前两个参数以获得不同的范围
Y2 = 2*√(4-x2.^2);
X = [x2, fliplr(x1)];获取合成多边形的x坐标集合。第二个形状的x坐标顺序需要颠倒过来
Yeff = [y2, fliplr(y1)];得到结果多边形的y坐标集合。第二个形状的y坐标顺序需要颠倒过来
填充(x, yeff,‘g’);用绿色填充多边形(g)