📄 duoduixiang.m
字号:
function duoduixiang
global h_edita1 h_edita2 h_edita3 j h_edita4 speed h_slider1 h_slider2 h_slider3 x1 y1 x2 y2 x3 x22 y22 y3
clf reset
H=axes('unit','normalized','position',[0,0,1,1],'visible','off');
axis([-6 6 -10 10]);
set(gcf,'currentaxes',H);
speed=0.01;
set(gcf,'unit','normalized','position',[0.01,0.04,0.99,0.90],'name','多对象旋转');
BackColor=get(gcf,'Color');
h_menu=uimenu('label','设置');
h_sub1=uimenu(h_menu,'label','grid on','callback','grid on');
h_sub2=uimenu(h_menu,'label','grid off','callback','grid off');
h_sub3=uimenu(h_menu,'label','box on','callback','box on',...
'separator','on');
h_sub4=uimenu(h_menu,'label','box off','callback','box off');
h_sub5=uimenu(h_menu,'label','Figure Color','Separator','on');
h_subsub1=uimenu(h_sub5,'label','Red','ForeGroundColor','r',...
'callback','set(gcf,''Color'',''r'')');
h_subsub2=uimenu(h_sub5,'label','blue','ForeGroundColor','b',...
'callback','set(gcf,''Color'',''b'')');
h_subsub3=uimenu(h_sub5,'label','Reset',...
'callback','set(gcf,''Color'',[0.8 0.8 0.8])');
h_axes=axes('parent',gcf,'tag','axess1',...
'unit','normalized','position',[0.03,0.15,0.55,0.7],...
'fontsize',8);
h_text1=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.60,0.42,0.10,0.05],...
'horizontal','left','string',{'A(r)点位置'},'fontsize',13);
h_edita1=uicontrol(gcf,'style','edit',...
'unit','normalized','position',[0.71,0.42,0.20,0.05],...
'horizontal','left','fontsize',13,'max',2);
h_text2=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.60,0.32,0.10,0.05],...
'horizontal','left','string',{'B(g)点位置'},'fontsize',13);
h_edita2=uicontrol(gcf,'style','edit',...
'unit','normalized','position',[0.71,0.32,0.20,0.05],...
'horizontal','left','fontsize',12,'max',2);
h_text3=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.60,0.22,0.10,0.05],...
'horizontal','left','string',{'C(b)点位置'},'fontsize',13);
h_edita3=uicontrol(gcf,'style','edit',...
'unit','normalized','position',[0.71,0.22,0.20,0.05],...
'horizontal','left','fontsize',12,'max',2);
t=(0:1000)/1000*2*pi;
x11=2*cos(t);
y11=1.55*sin(t);
z11=0*ones(1,1001);
x22=3*cos(t);
z22=1.05*sin(t);
y22=0*ones(1,1001);
z33=1*cos(t);
y33=4.5*sin(t); x33=0.4*ones(1,1001);
x1=x11;y1=y11;z1=z11;x2=x22;y2=y22;z2=z22;x3=x33;y3=y33;z3=z33;
plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3);
axis([-6 6 -10 10 -4 4]);
axis off
h_text7=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.60,0.86,0.10,0.05],...
'horizontal','left','string',{'编辑区'},'fontsize',13);
hh=uicontrol(gcf,'style','frame',...
'unit','normalized','position',[0.60,0.50,0.31,0.35]);
h_text8=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.61,0.70,0.10,0.04],...
'horizontal','left','string',{'输入绕动圈数,k='},'fontsize',12);
h_edita4=uicontrol(gcf,'style','edit',...
'unit','normalized','position',[0.72,0.71,0.05,0.03],...
'horizontal','left','fontsize',12,'max',1);
h_text5=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.61,0.64,0.10,0.05],...
'horizontal','left','string',{'轨迹(A)径长'},'fontsize',12);
h_slider1=uicontrol(gcf,'style','slider',...
'position',[720 463 180 20],...
'max',3,'min',0.5,...
'sliderstep',[0.01,0.05],...
'value',1,...
'tag','s1',...
'callback',{@pic});
h_text6=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.61,0.58,0.10,0.05],...
'horizontal','left','string',{'轨迹(B)径长'},'fontsize',12);
h_slider2=uicontrol(gcf,'style','slider',...
'position',[720 419 180 20],...
'max',3,'min',0.5,...
'sliderstep',[0.01,0.05],...
'value',1,...
'tag','s2',...
'callback',{@pic});
h_text4=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.61,0.52,0.10,0.05],...
'horizontal','left','string',{'轨迹(C)径长'},'fontsize',12);
h_slider3=uicontrol(gcf,'style','slider',...
'position',[720 375 180 20],...
'max',3,'min',0.5,...
'sliderstep',[0.01,0.05],...
'value',1,...
'tag','s3',...
'callback',{@pic});
h_push1=uicontrol(gcf,'style','push',...
'unit','normalized','position',[0.60,0.15,0.05,0.05],...
'string','ok','fontsize',18,'callback',{@qaa});
h_push2=uicontrol(gcf,'style','push',...
'unit','normalized','position',[0.69,0.15,0.05,0.05],...
'string','停止 ','callback',['close;shilia;']);
h_push4=uicontrol(gcf,'style','push',...
'unit','normalized','position',[0.86,0.15,0.05,0.05],...
'string','关闭','callback',[...
'j=200;',...
'close']);
h_slider4=uicontrol(gcf,...
'style','slider',...
'units','points',...
'tag','h_slider4',...
'position',[530 400 150 15],...
'max',1,'min',0,...
'backgroundcolor',[0.75 0.75 0.75],...
'sliderstep',[0.01,0.05],...
'value',50*speed,...
'tag','s4',...
'callback',[...
'm=get(findobj(''tag'',''s4''),''value'');,',...
'speed=m/50;']);
h_text8=uicontrol(gcf,'style','text',...
'unit','normalized','position',[0.61,0.75,0.08,0.05],...
'horizontal','left','string',{'运动速度'},'fontsize',12);
function pic(h_slider1,evd,h_axes)
delete(findobj('tag','axess1'));
set(findobj('tag','axess1'),'position',[0.03,0.15,0.55,0.7]);
t=(0:1000)/1000*2*pi; x11=2*cos(t); y11=1.55*sin(t); z11=0*ones(1,1001);
x22=3*cos(t); z22=1.05*sin(t); y22=0*ones(1,1001); z33=1*cos(t);
y33=4.5*sin(t); x33=0.4*ones(1,1001);
a=get(findobj('tag','s1'),'value');b=get(findobj('tag','s2'),'value'); c=get(findobj('tag','s3'),'value');
z3=a*z33; y3=a*y33; x3=x33; x1=a*x11; y1=a*y11; z1=z11;
x2=b*x22; z2=b*z22; y2=y22;
set(findobj('tag','axess1'),'position',[0.03,0.15,0.55,0.7]);
plot3(x1,y1,z1,x2,y2,z2,x3,y3,z3);
axis([-6 6 -10 10 -4 4]); axis off
function qaa(h_push1,evd,h_axes)
t=(0:1000)/1000*2*pi; x11=2*cos(t); y11=1.55*sin(t); z11=0*ones(1,1001);
x22=3*cos(t); z22=1.05*sin(t); y22=0*ones(1,1001); z33=1*cos(t);
y33=4.5*sin(t); x33=0.4*ones(1,1001);
a=get(findobj('tag','s1'),'value');
b=get(findobj('tag','s2'),'value');
c=get(findobj('tag','s3'),'value');
z3=a*z33; y3=a*y33; x3=x33; x1=a*x11; y1=a*y11; z1=z11; x2=b*x22; z2=b*z22; y2=y22;
aa(x1,y1,z1,x2,y2,z2,x3,y3,z3);
axis([-6 6 -10 10 -4 4]); axis off
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -