donghua_z.m

来自「一个小小的c语言编程」· M 代码 · 共 38 行

M
38
字号
function donghua_z              %图形绕z轴旋转  
global X1 X2 X3 b r rotate_angle rotate_repeat rotate_zhen
figure(14)
str='Roll';
set(gcf,'name',str,'numbertitle','off')
set(gcf,'unit','normalized','position',[0.002,0.082,0.9,0.75])

singularity1_x=0;singularity1_y=0;singularity1_z=0;
singularity2_x=(b*(r-1))^(1/2);singularity2_y=(b*(r-1))^(1/2);singularity2_z=r-1;
singularity3_x=-(b*(r-1))^(1/2);singularity3_y=-(b*(r-1))^(1/2);singularity3_z=r-1;

clf;shg,
h=plot3(X1,X2,X3,singularity3_x,singularity3_y,singularity3_z,'k.','MarkerSize',20);
colormap(jet);
%axis off
axis vis3d,       %旋转时避免图形大小发生变化
grid on,
xlabel('x'),ylabel('y'),zlabel('z'), 
n=360/rotate_angle;mmm=moviein(n);			%预设画面矩阵。
helpdlg('开始图像采集,请稍后......','提示信息');pause(3),

for i=1:n
	rotate(h,[0 0 1],rotate_angle);		%是图形绕z轴旋转度/每次
   	mmm(:,i)=getframe;			%捕获画面。新版改为mmm(i)=getframe 。
end

ButtonName=questdlg('What is your wish?', ...
                       'Genie Question', ...
                       'replay','roll x','roll y','replay');  
   switch ButtonName,
     case 'replay', 
        movie(mmm,rotate_repeat,rotate_zhen);         %movie(mmm,a,b)以每秒b帧速度(可调节速度),重复播放a次。 开始会回放一遍
     case 'roll x',
        donghua_x,
     case 'roll_y',
        donghua_y,
   end 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?