主题:MATLAB GUI 的设计,高手看看吧.
geraldder
[专家分:0] 发布于 2008-05-04 19:11:00
[size=5][size=6][size=2]设计一个GUI演示常见的多峰函数曲面的修饰处理效果,包括:图形修饰,选项,退出.等菜单.
图形包括,直接输出,视点切换,着色,光照,剪裁.
选项包括:网格开关,图例开关,坐标开关.[/size][/size][/size]
5 楼
magic.cg [专家分:110] 发布于 2008-07-08 15:15:00
clf reset
set(gcf,'unit','normalized','menubar','none','position',[0.2,0.4,0.5,0.5]);
axes('position',[0,0,1,1]);
[x,y,z]=peaks(30);
hfig=surf(x,y,z);
legend('多峰函数举例');
menu1=uimenu(gcf,'label','菜单');
submenu11=uimenu(menu1,'label','直接输出');%我不知道你要输出到哪里 你自己搞定吧
submenu12=uimenu(menu1,'label','视点切换','callback','view(az,el)');%az为方位角,el为俯视角,根据需要设置
submenu121=uimenu(submenu12,'label','az');
submenu13=uimenu(menu1,'label','着色');
submenu131=uimenu(submenu13,'label','spring','callback','colormap(spring)');
submenu132=uimenu(submenu13,'label','summer','callback','colormap(summer)');
submenu133=uimenu(submenu13,'label','autumn','callback','colormap(autumn)');
submenu134=uimenu(submenu13,'label','winter','callback','colormap(winter)');
submenu14=uimenu(menu1,'label','光照');
submenu141=uimenu(submenu14,'label','flat','callback','light,lighting(flat)');
submenu142=uimenu(submenu14,'label','gouraud','callback','light,lighting(gouraud)');
submenu143=uimenu(submenu14,'label','phong','callback','light,lighting(phong)');
submenu144=uimenu(submenu14,'label','none','callback','light,lighting(none)');
submenu15=uimenu(menu1,'label','裁剪','callback','i=find(x<1|y<1);z(i)=zeros(size(i));surf(x,y,z);shading interp;colormap(copper)');
menu2=uimenu(gcf,'label','选项');
submenu21=uimenu(menu2,'label','网格开关');
submenu211=uimenu(submenu21,'label','Grid on','callback','grid on');
submenu212=uimenu(submenu21,'label','Grid off','callback','grid off');
submenu22=uimenu(menu2,'label','图例开关');
submenu221=uimenu(submenu22,'label','Legend on','callback','legend(''多峰函数举例'')');
submenu222=uimenu(submenu22,'label','Legend off','callback','legend off');
submenu23=uimenu(menu2,'label','坐标开关');
submenu231=uimenu(submenu23,'label','Axis on','callback','axis on');
submenu232=uimenu(submenu23,'label','Axis off','callback','axis off');
menu3=uimenu(gcf,'label','退出','callback','close(gcf)');