使白片流数据的部分透明

12个视图(30天)
我创造了这个图(5)与代码(我有编辑的问题)。
我想白(1 1 1)部分气缸部分透明。我知道MatLab不能使用RGBa colormap,所以有一些其他的方法吗?我不希望整个气缸表面是透明的,只是白色的部分。我发现这个问题 在这里 这似乎为png图像工作,但这不是我在寻找什么。我敢肯定像我问可以做因为我以前见过但我没有源代码。
这是一个图像从最近的一篇论文,C。盾,H。,& Cheng, B. (2020). Tip vortices formation and evolution of rotating wings at low Reynolds numbers. 物理的流体 , 32 (2),021905。
更正: 我不知道这个数字是MatLab。
我不能加载变量X, Y, Z,或V因为他们太大。您可以使用内置的流动数据MatLab。
请让我知道如果你有任何问题或者有问题的代码,我将做任何必要的编辑如果我忘记了什么。
纽约= 1000;
(X, Y, Z, V) =流(10);
%这些变量是必须的,我忘记了之前的版本
y = [-0.7344, 0.7031];
AoAd = 45;
δ= 1/2 * cosd (AoAd);
dt = 0.0258;%时间步的大小
dtheta = 7.5;%微分角度大小(度)
θ= 180 + dtheta;
iso = 3;
q = 1:2
i = 1:3
如果~ (q = = 2,我= = 1)
如果我= = 1
基于“增大化现实”技术= 3;
elseif我= = 2
基于“增大化现实”技术= 5;
elseif我= = 3
基于“增大化现实”技术= 7;
结束
RoLoc =(0.2:0.1:0.9) *基于“增大化现实”技术;
%不费心去画的矩形贴片的形象
图(sub2ind ([2、3] q i))
包含(“x”),ylabel (“y”),zlabel (“z”)
持有
跳频= gcf ();
axh = findall(跳频,“类型”,“轴”);
r = 1:长度(RoLoc)
扫地板=(2.1 *纽约* RoLoc (r));
(Xc、Yc佐]= cylinder2 (RoLoc (r) *(纽约),(0,1,0),扫描);%在这里你可以找到//www.tatmou.com/matlabcentral/fileexchange/64007-generate-cylinder-with-custom-axis
H = [1 0 0 0;
0 1 0分钟(y);%垂直翻译
0 0 1 0;
0 0 0 1)*
(1 0 0 0;
0 peak2peak (y) 0 0;%垂直拉伸
0 0 1 0;
0 0 0 1)*
的(纽约);Yc(: 1)“;的(纽约);的(纽约)];
Yc = repmat (H(2, 1:纽约),1,扫+ 1);
清晰的H
%的角度对气缸的一部分
Phi_prime = atand(δ/ RoLoc (r));
theta_prime = linspace(360 0,扫+ 1)';
如果r = = 1
T = 3;
elseifr = = 2
T = 4;
elseifr = = 3
T = 5;
elseif< 6 > 3 & & r
T = 6;
其他的
T = 9;
结束
theta_q =θ- T * Phi_prime;
清晰的T
theta_p =θ+ 2 * Phi_prime;
[~ l] = min (abs (theta_prime - theta_p));
(~ m] = min (abs (theta_prime - theta_q));
Vsli {q, ir} =片(axh, X, Y, Z, V, Xc(:,李:m), Yc(:,李:m),佐(:,李:m),“线性”);
Vsli {q, ir}。EdgeColor =“没有”;
%设置颜色轴范围
V_min (q, r) = (min (caxis)) *标志装天花板(abs (min (caxis)));最小值百分比流
V_max (q, r) =装天花板(max (caxis));%最大价值流动
结束
结束
结束
结束
%这部分圆柱部分的颜色变化
n = 1000;
q = 1:2
i = 1:3
如果~ (q = = 2,我= = 1)
图(sub2ind ([2、3] q i))
colorbar
跳频= gcf ();
axh = findall(跳频,“类型”,“轴”);
cbh = findall(跳频,“类型”,“ColorBar”);
%这些数字是我的数据
M1 = nanmin (V_min [],“所有”);
M2 = nanmax (V_max [],“所有”);
vPmin = 1/3;
vPmax = 1/2;
M1prime =符号(M1) *装天花板(abs (vPmin * M1) / 5) * 5;
M2prime =地板(vPmax * M2/5) * 5;
caxis ([M1prime M2prime])
%我改编的代码让你自己窜改colormap这里https://stackoverflow.com/questions/30851050/how-to-create-an-interpolated-colormap-or-color-palette-from-two-colors
%设置白色与蓝色是零负和红色都是积极正面的
n0 =地板(interp1 ([M1prime M2prime], (1, n), 0));%插入颜色指数为零
nN2 =地板(interp1 ([M1prime M2prime], (1, n), iso-1));%蓝色,青色
nN1 =地板(interp1 ([M1prime M2prime], (1, n), iso));%青色为白色
nP1 =地板(interp1 ([M1prime M2prime], (1, n), iso));%的白色到黄色
nP2 =地板(interp1 ([M1prime M2prime], (1, n) - (iso-1)));%的黄色到红色
提出= 0 (5,3);
:提出(1)= (0 0 1);% / /颜色第一行——蓝色
提出(2)= [0 1 1];%青色
提出(3)= (1 1 1);% / /颜色1/2 * n行——白色
提出(4)= (1 1 0);%的黄色
提出(5)= (1 0 0);% n行/ /颜色:红色
(xc、yc) = meshgrid (1:3, 1: n);% / /网格索引
cmapN = interp2 (xc ([1 nN2 nN1],:), yc ([1 nN2 nN1],:),[提出(1:2,:);提出(2:)],xc、yc);% / /插入蓝色青色
cmapN (nN1 + 1:最终,)= [];
cmapZ1 = interp2 (xc ([nN1 + 1, nN1 + 1 +地板(n0 - (nN1 + 1) / 2), n0),:), yc ([nN1 + 1, nN1 + 1 +地板(n0 - (nN1 + 1) / 2), n0),:),(提出(:2:3);提出(3:)],xc、yc);% / /插入青色为白色
cmapZ1 (1: nN1:) = [];Lz1 =长度(cmapZ1);
cmapZ1 (Lz1 - (n-n0) + 1: Lz1:) = [];
cmapZ2 = interp2 (xc ([n0 + 1, n0 + 1 +地板(nP1 - (n0 + 1) / 2), nP1],:), yc ([n0 + 1, n0 + 1 +地板(nP1 - (n0 + 1) / 2), nP1],:),(提出(3:);提出(3:4:)],xc、yc);% / /插入白色到黄色
cmapZ2 (1: n0,:) = [];Lz2 =长度(cmapZ2);
cmapZ2 (Lz2 - (n-nP1) + 1: Lz2:) = [];
cmapP = interp2 (xc ([nP2 nP1 + 1, n]:), yc ([nP2 nP1 + 1, n]:),(提出(4:);提出(:4:5)],xc、yc);% / /插入黄色到红色
cmapP (1: nP1:) = [];
cmapNtot = [cmapN; cmapZ1];
cmapPtot = [cmapZ2; cmapP];
提出= [cmapNtot; cmapPtot];
colormap城市规划机构(cmap)% / /设置彩色地图
%我发现这暂停有助于确保colorbar变化,有时MatLab在调试模式下没有不会改变它
暂停(3)
结束
结束
结束
8的评论
纳撒尼尔·H沃纳
纳撒尼尔·H沃纳 2020年4月6日
没有没有。你需要大量的网格使轮廓看起来不够光滑。但随意降低他们如果你有一些想法。

登录置评。

接受的答案

darova
darova 2020年4月6日
如何使一些面临着透明的一个例子
(X, Y) = meshgrid (10:10);%生成网格
Z = - x ^ 2 y ^ 2;% Z值(抛物面)
α1 = Z * 0 + 1;% alphadata(所有' 1 ')
第九= -20 > & Z > -60;% -20年和-60年之间找到Z值
α1 (ix) = 0.5;%分配0.5 alpha(透明度
h =冲浪(X, Y, Z,
“alphadata”α1,%分配alphadata
“facealpha”,的插值函数,%插入透明
“alphadatamapping”,“没有”);%不知道这是什么
vis3d
结果
看到alphadata: 链接
4评论

登录置评。

更多的答案(0)

类别

找到更多的在照明、透明度和阴影帮助中心文件交换

下载188bet金宝搏


释放

R2018b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!

翻译的