Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: [转载]关税14
发信站: 哈工大紫丁香 (Thu Jun 12 21:30:12 2003)
function x=rotcube()
x=[0 1 1 0 0 0 1 1 0 0 NaN 1 1 NaN 1 1 NaN 0 0];
y=[0 0 1 1 0 0 0 1 1 0 NaN 0 0 NaN 1 1 NaN 1 1];
z=[0 0 0 0 0 1 1 1 1 1 NaN 1 0 NaN 0 1 NaN 1 0];
rot_axis=[0 0 1];
rot_org=[0 0 0];
cube_h=plot3(x-0.5,y-0.5,z-0.5);
axis('square');
axis([-1 1 -1 1 -1 1]*2);
view(-37,30);
set(cube_h,'erasemode','background');
rotation_increment=5;
rotation_axis=rot_axis;
rotation_origin=rot_org;
fig_h=gcf;
key='j';
while key~=27
if waitforbuttonpress==1;
key=get(fig_h,'currentcharacter');
switch key
case 28
% case 'j'
rotation_axis=[0 0 1];
rotation_increment=-5;
case 29
%case 'k'
rotation_axis=[0 0 1];
rotation_increment=5;
case 30
%case 'l'
rotation_axis=[0 1 0];
rotation_increment=5;
case 31
% case 'i'
rotation_axis=[0 1 0];
rotation_increment=-5;
case 27
close(fig_h)
clear
return
end
rotate(cube_h,rotation_axis,...
rotation_increment,rotation_origin);
drawnow;
end
end
x=key
练习
1 如果你用的是笔记本,比如 snowdy之流:),请修改程序,我就不多说了
2 学习waitforbuttonpress的用法
3 学习 get(fig_h,'currentcharacter')的用法
4 玩一下这个程序,看看有没有动起来
--
╔═══════════════════╗
║★★★★★友谊第一 比赛第二★★★★★║
╚═══════════════════╝
※ 来源:.哈工大紫丁香 bbs.hit.edu.cn [FROM: 202.118.229.92]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.572毫秒