rotate1
clf
clear
axes('XLim',[-1 1],'YLim',[-1 1],'ZLim',[-1 1]);
view(3); grid on; axis square; axis equal
camva(4);
mpoint([0 0 0],0.4,'green');
ux = [0 -1 1];
ux = ux/norm(ux);
arrow(ux);
pn = cross([0 0 1],ux);
p = ux+0.3*pn;
scl = 0.03;
tp = mpoint(p,scl,'red');
h = findobj(tp,'Type','Surface');
set(h,'EdgeColor','none');
t = hgtransform('Parent',gca);
set(tp,'Parent',t);
ph = [p 1];
N = 300;
x = zeros(N,1);
y = zeros(N,1);
z = zeros(N,1);
for k=1:300
phi = (k-1)*pi/180;
R = makehgtform('axisrotate',ux,phi);
pnew = ph*R';
x(k)= pnew(1);
y(k)= pnew(2);
z(k)= pnew(3);
end
hold on
plot3(x,y,z,'k');
hold off
enable = true;
if enable
mov = avifile('rotate1.avi','fps',5);
end
for k=0:6:360
R = makehgtform('axisrotate',ux,k*pi/180);
set(t,'Matrix',R);
pause(0.05);
if enable
F = getframe(gca);
rgb = frame2im(F);
F = im2frame(rgb);
mov = addframe(mov,F);
end
end
if enable
mov = close(mov);
end