📄 flow.asv
字号:
%function da(Ti);
Ti=zeros(10,10,6);
A1=[ 1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
0 0 0 0 0 0 0 0 0 0 ;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0]
A2=[ 1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
1 1 1 1 1 1 1 1 1 1;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0];
H1=[ 0 0 0 1 1 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0;
0 0 1 1 1 1 1 1 0 0;
0 1 1 1 0 0 1 1 1 0;
0 1 1 0 0 0 0 1 1 1;
0 1 1 0 0 0 0 1 1 0;
0 0 1 1 1 0 1 1 0 0;
0 0 0 1 1 1 1 1 0 0;
0 0 0 0 1 1 1 0 0 0;
0 0 0 0 0 0 0 0 0 0];
H2=[ 0 0 0 0 0 0 0 0 0 0;
0 0 0 1 1 0 0 0 0 0;
0 0 1 1 1 0 0 0 0 0;
0 1 1 1 1 1 1 0 0 0;
0 1 1 0 0 1 1 1 0 0;
0 1 1 0 0 0 1 1 0 0;
0 0 1 1 0 1 1 1 0 0;
0 0 0 1 1 1 1 0 0 0;
0 0 0 1 1 1 0 0 0 0;
0 0 0 0 1 0 0 0 0 0];
D1=[ 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 1 1 1 0 0 1 1 1 0;
1 1 1 0 0 0 1 1 1 0;
0 0 0 0 0 0 1 1 1 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0];
D2=[0 0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 0 0 1 1 1 0 0 0 0
0 1 0 0 0 0 0 0 0 0
1 1 1 0 0 0 1 1 1 0
1 1 1 0 0 0 1 1 1 0
0 1 0 0 0 0 1 1 1 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 0 0];
Z1=[ 0 0 0 0 0 0 0 0 0 0;
0 0 0 1 1 1 1 0 0 0;
0 0 1 1 1 1 1 1 0 0;
0 0 1 1 1 1 1 1 0 0;
0 0 1 1 1 1 1 1 1 0;
0 0 1 1 1 1 1 1 0 0;
0 0 1 1 1 1 1 1 0 0;
0 0 0 1 1 1 1 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0];
Z2=[ 0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 1 1 1 0 0 0 0;
0 0 1 1 1 1 1 0 0 0;
0 0 0 1 1 1 0 0 0 0;
0 0 0 0 1 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0;
0 0 0 0 0 0 0 0 0 0];
Ti(:,:,1)=A1;
Ti(:,:,2)=A2;
Ti(:,:,3)=A2;
Ti(:,:,4)=A1;
Ti(:,:,5)=A2;
Ti(:,:,6)=A2;
%实验数据:6组
k=zeros(1,6);
m=0;
n=0;
%假设每个面上只有一个轮廓线
for t=1:6
%每条轮廓进行测试
if t==1
I=Ti(:,:,1);
elseif t==2
I=Ti(:,:,2);
elseif t==3
I=Ti(:,:,3);
elseif t==4
I=Ti(:,:,4);
elseif t==5
I=Ti(:,:,5);
elseif t==6
I=Ti(:,:,6);
end
bw=Contour(I,t);
[U,V,R,Info]=BSpline_1(bw,t);
%BSpline_2(Info,U,V,R);
[Spline_Info,Spline_U,Spline_V,Spline_R]=BSpline_2(Info,U,V,R);
if t==1
Heng=Spline_U;
Zhong=Spline_R;
Shu=Spline_V;
else
Heng(:,:,t)=Spline_U;
Zhong(:,:,t)=Spline_R;
Shu(:,:,t)=Spline_V;
end
k(t)=tiao(Heng(:,:,t)); %每个面上的轮廓线的条数
if t>1&t<=6
x=Heng(1,1,t-1);
i=1;
while x~=0
m=diandegeshu(Heng(i,:,t-1));
n=diandegeshu(Heng(i,:,t));
%liyong mnlai huatu
stopr1(Heng(i,:,t-1),Zhong(i,:,t-1),Shu(i,:,t-1),Heng(i,:,t),Zhong(i,:,t),Shu(i,:,t),m,n);
colormap(jet)
%shading flat
%light('position',[-1,-1,-2],'color','b')
% lighting flat
% view(10,70);
i=i+1;
x=Heng(i,1,t-1);
hold on
end
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -