function plot_ellipse_new(aPhys,bPhys,cPhys) % load('ani_rmin1.5_cab.mat','a_log','b_log','c_log') % aPhys=a_log{493,2};bPhys=b_log{493,2};cPhys=c_log{493,2}; % load('ani_rmin1.5_cab_newfilter.mat') nz=size(aPhys,1);ny=size(aPhys,2);nx=size(aPhys,3); figure() % min(min(min(aPhys))) % max(max(max(aPhys))) % % min(min(min(bPhys))) % max(max(max(bPhys))) j=1; for i=1:nx % for j=1:ny for k=1:nz a = (aPhys(k,j,i)-0.0)/2; b = (bPhys(k,j,i)-0.0)/2; % c=0.35; % c = (cPhys(k,j,i)+0.6);%应该大于1才会越大 c = (cPhys(k,j,i)+5)/6; % c = 0.5*(cPhys(k,j,i)+1.7)/3.4; % rectangle('Position',[i-1+0.5-a/2,k-1+0.5-b/2,a,b],... % 'Curvature',[1,1],... % 'FaceColor',[0 1 0].*(1-c)+[0 0 1].*c,... % 'EdgeColor',[0 1 0].*(1-c)+[0 0 1].*c); rectangle('Position',[i-1+0.5-a/2,k-1+0.5-b/2,a,b],... 'Curvature',[1,1],... 'FaceColor',[1 1 1].*0.9*c,... 'EdgeColor',[1 1 1].*0.9*c); % 'FaceColor',[1 0 0].*(1-c)+[0 1 0].*c,... % 'EdgeColor',[1 0 0].*(1-c)+[0 1 0].*c); % 'FaceColor',[0 1 0].*(1-c)+[1 0 0].*c,... % 'EdgeColor',[0 1 0].*(1-c)+[1 0 0].*c); % rectangle('Position',[i-1+0.5-a/2,k-1+0.5-b/2,a,b],... % 'Curvature',[1,1],'FaceColor',[18 184 246]./256) % rectangle('Position',[i-1+0.5-c/2,k-1+0.5-c/2,c,c],... % 'Curvature',[1,1],'FaceColor',[18 184 246]./256) hold on; end % end end axis equal;axis tight;axis off; % map = [1.0 0.0 0; % 0.8 0.2 0; % 0.6 0.4 0; % 0.4 0.6 0; % 0.2 0.8 0; % 0.0 1.0 0]; % map = [linspace(1,0,51).',linspace(0,1,51).',zeros(51,1)];colormap(map); map = [linspace(0,0.9,51).',linspace(0,0.9,51).',linspace(0,0.9,51).'];colormap(map); % colorbar hold on line([0 0],[0 20],'Color','black') line([60 60],[0 20],'Color','black') line([0 60],[0 0],'Color','black') line([0 60],[20 20],'Color','black') draw_frame_2d(); end function draw_frame_2d() [MESH,V_macro]=MeshGenerate_2D_rectangle(61,21); num_ele=size(MESH,1); for iele=1:num_ele ele=MESH(iele,:); for i=1:4 if i==4 lin=[4 1]; else lin=[i i+1]; end vidx=ele(lin); vcoor=V_macro(vidx,:); % vcoor line([vcoor(1,1) vcoor(2,1)],[vcoor(1,2) vcoor(2,2)],... 'Color','k','LineStyle',':') end end end function [MESH,V]=MeshGenerate_2D_rectangle(width,height) h=1.0; %Node V=zeros(width*height,2); NodeIdx=zeros(width,height); index=1; for i=1:width for j=1:height V(index,1)=(i-1)*h; V(index,2)=(j-1)*h; NodeIdx(i,j)=index; index=index+1; end end %Mesh nele=(width-1)*(height-1); MESH=zeros(nele,4); index=1; for i=1:width-1 for j=1:height-1 MESH(index,1)=NodeIdx(i,j); MESH(index,2)=NodeIdx(i+1,j); MESH(index,3)=NodeIdx(i+1,j+1); MESH(index,4)=NodeIdx(i,j+1); index=index+1; end end end