MATLAB CONFIGURATION 3D NANOMATERIAL MODEL

matlab function
function mat_2
clf;
clear
clc
close
figure(1);
format compact
h(1) = axes('Position',[0.2 0.2 0.6 0.6]);
cube = [1 1 -1;
-1 1 -1;
-1 1 1;
1 1 1;
-1 -1 1;
1 -1 1;
1 -1 -1;
-1 -1 -1];
uppercube = [.6 .4 1;
-.42 .4 1;
-.42 .4 3;
.6 .4 3;
-.42 -.4 3;
.6 -.4 3;
.6 -.4 1;
-.42 -.4 1];
% arxizei 1 - 3 - 5 -7
versolinaki1 = [-.18 .4 1;
-.38 .4 1;
-.38 .4 3.1;
-.18 .4 3.1;
-.38 -.41 3.1;
-.18 -.41 3.1;
-.18 -.41 1;
-.38 -.41 1];
versolinaki2 = [.06 .4 1;
-.12 .4 1;
-.12 .4 3.1;
.06 .4 3.1;
-.12 -.41 3.1;
.06 -.41 3.1;
.06 -.41 1;
-.12 -.41 1];
versolinaki3 = [.32 .4 1;
.14 .4 1;
.14 .4 3.1;
.32 .4 3.1;
.14 -.41 3.1;
.32 -.41 3.1;
.32 -.41 1;
.14 -.41 1];
versolinaki4 = [.58 .4 1;
.4 .4 1;
.4 .4 3.1;
.58 .4 3.1;
.4 -.41 3.1;
.58 -.41 3.1;
.58 -.41 1;
.4 -.41 1];
fac = [1 2 3 4;
4 3 5 6;
6 7 8 5;
1 2 8 7;
6 7 1 4;
2 3 5 8];
up = patch('Faces',fac,'Vertices',cube,'FaceColor',[1 1 1]);
hold on;
x(1)=-.42; y(1)=-.41; z(1)=1;
x(2)=-.43; y(2)=-.45; z(2)=1;
x(3)=-.41; y(3)=-.49; z(3)=1;
x(4)=-.36; y(4)=-.53; z(4)=1;
x(5)=-.3; y(5)=-.56; z(5)=1;
x(6)=-.24; y(6)=-.6; z(6)=1;
x(7)=-.17; y(7)=-.64; z(7)=1;
x(8)=-.1; y(8)=-.67; z(8)=1;
x(9)=-.04; y(9)=-.7; z(9)=1;
x(10)=0; y(10)=-.71; z(10)=1;
x(11)=.04; y(11)=-.7; z(11)=1;
x(12)=.14; y(12)=-.67; z(12)=1;
x(13)=.24; y(13)=-.64; z(13)=1;
x(14)=.34; y(14)=-.6; z(14)=1;
x(15)=.44; y(15)=-.56; z(15)=1;
x(16)=.52; y(16)=-.53; z(16)=1;
x(17)=.56; y(17)=-.49; z(17)=1;
x(18)=.59; y(18)=-.45; z(18)=1;
x(19)=.58; y(19)=-.41; z(19)=1;
pl = patch(x,y,z,'w')
cdata = [0 0 1 0 0.8;
0 1 0 0 0.8;
1 0 1 0 0.8]';
set(pl,'FaceColor',[0 0 1])
hold on
patch('Faces', fac, 'Vertices', uppercube, 'faceColor', [1 1 1],...
'AlphaDataMapping','none');
hold on;
p1 = patch('Faces', fac, 'Vertices', versolinaki1, 'FaceColor', 'b');
hold on;
p2 = patch('Faces', fac, 'Vertices', versolinaki2, 'FaceColor', 'b');
hold on;
p3 = patch('Faces', fac, 'Vertices', versolinaki3, 'FaceColor', 'b');
hold on;
p4 = patch('Faces', fac, 'Vertices', versolinaki4, 'FaceColor', 'b');
%view(40,60)
%{
hold on;
xx(1)=-.42; yy(1)=-.4; zz(1)=3.16;
xx(2)=-.42; yy(2)=.4; zz(2)=3.16;
xx(3)=.6; yy(3)=.4; zz(3)=3.16;
xx(4)=.6; yy(4)=-.4; zz(4)=3.16;
p = patch(xx,yy,zz,'w')
cdata = [0 0 1 0 0.8;
0 1 0 0 0.8;
1 0 1 0 0.8]';
set(p,'FaceColor',[1 1 1])
%}
view(12,59)
%view(14.5,59)
%axis([-2 3 -2 2 -8.3 2.3])
%axis([-2 2 -2 2 -2.3 2.3])
% view(7,79)
set(gca,'color',[1 1 1])
axis off
%for i=1:340,view(i,i),drawnow,end
%axis([-.5 .5 -1 1 -2.3 2.3])
%axis tight
bu1=uicontrol('Style', 'pushbutton', 'String', 'Run simulation',...
'backgroundcolor',[.8 .8 .8],'fontSize',10,...
'foregroundColor',[0 0 0],...
'units','normalized',...
'units','normalized',...
'Position', [.1 .8 .3 .1],...
'callback',{@moving,versolinaki1,versolinaki2,versolinaki3,versolinaki4,x,y,z,pl,p1,p2,p3,p4,up})
%=========================================
function moving(cbo,eventdata,versolinaki1,versolinaki2,versolinaki3,versolinaki4,x,y,z,pl,p1,p2,p3,p4,up)
set(up,'faceColor',[.7 .7 .7])
title(['3D model',10,'Ted Aspiotis',10,'tedasjob@gmail.com'])
xd1 = get(p1,'xData');
xd2 = get(p2,'xData');
xd3 = get(p3,'xData');
xd4 = get(p4,'xData');
yd1 = get(p1,'YData');
yd2 = get(p2,'YData');
yd3 = get(p3,'YData');
yd4 = get(p4,'yData');
zd1 = get(p1,'zData');
zd2 = get(p2,'zData');
zd3 = get(p3,'zData');
zd4 = get(p4,'zData');
aaa=get(pl,'yData');
alpha(.7)
axis off
yyy = .4;
aa = -.03;
view(40,70)
%{
view(40,70)
xa(1) = -.4 ; ya(1) = -.4; za(1) = 1;
xa(2) = .4 ; ya(2) = -.4; za(2) = 1;
xa(3) = .4 ; ya(3) = .4; za(3) = 1;
xa(4) = -.4 ; ya(4) = .4; za(4) = 1;
pla = patch(xa,ya,za,'b')
%}
for i=1:9
yd1(1:4,1) = yyy;
yd1(31:2,2)= yyy ;
yd1(1:2,4) = yyy ;
yd1(3:4,5) = yyy ;
yd1(1:2,6) = yyy ;
yd2(1:4,1) = yyy;
yd2(31:2,2)= yyy ;
yd2(1:2,4) = yyy ;
yd2(3:4,5) = yyy ;
yd2(1:2,6) = yyy ;
yd3(1:4,1) = yyy;
yd3(31:2,2)= yyy ;
yd3(1:2,4) = yyy ;
yd3(3:4,5) = yyy ;
yd3(1:2,6) = yyy ;
yd4(1:4,1) = yyy;
yd4(31:2,2)= yyy ;
yd4(1:2,4) = yyy ;
yd4(3:4,5) = yyy ;
yd4(1:2,6) = yyy ;
xd3 = get(p3,'xData');
yyy = yyy - .1;
set(p1,'XData',xd1,'YData',yd1 ,'ZData',zd1);
set(p2,'XData',xd2,'YData',yd2 ,'ZData',zd2);
set(p3,'XData',xd3,'YData',yd3 ,'ZData',zd3);
set(p4,'XData',xd4,'YData',yd4 ,'ZData',zd4);
set(pl,'YData',aaa+.22-aa)
aaa = aaa + aa;
drawnow
pause(1)
img(i) = getframe(gcf);
imwrite(img(i).cdata,['model' num2str(100+i) '.jpg'])
end
|