Matlab 版 (精华区)
发信人: zjliu (秋天的萝卜), 信区: Matlab
标 题: [合集]matlab一问:图形怎么旋转?
发信站: 哈工大紫丁香 (2003年11月29日11:22:56 星期六), 站内信件
────────────────────────────────────────
hitmanman (hitmanman) 于 Wed Nov 19 15:54:27 2003 说道:
────────────────────────────────────────
hitmanman (hitmanman) 于 Wed Nov 19 15:53:50 2003 说道:
得到一个图形。
我想坐标轴不动,图形旋转3度,如何使得??
谢谢!
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年11月19日16:24:12 星期三 说道:
看这个例子:
t=linspace(0,2*pi,100);
t=[t 0];
y=sin(t);
th=3/180*pi;
R=[cos(th),sin(th);-sin(th),cos(th)];
Da=[t;y]';
Da=Da*R;
close all
subplot(121)
plot(t,sin(t));
subplot(122)
plot(Da(:,1),Da(:,2))
────────────────────────────────────────
hitmanman (hitmanman) 于
────────────────────────────────────────
seesea (马虎学究) 于 2003年11月19日19:31:26 星期三 说道:
改变视角
help view
────────────────────────────────────────
hitmanman (hitmanman) 于
────────────────────────────────────────
josephpei (蕉下客) 于 Thu Nov 20 08:55:53 2003 说道:
若按顺时针分别绕x,y,z旋转Alpha、Beta、Gama
则a=[1 0 0
0 cos(Alpha) -sin(Alpha)
0 sin(AlphaAlpha) cos(Alpha)];
b=[cos(Beta) 0 sin(Beta)
0 1 0
-sin(Beta) 0 cos(Beta)];
c=[cos(Gama) -sin(Gama) 0
sin(Gama) cos(Gama) 0
0 0 1];
[x1 y1 z1]'=c*b*a*[x y z]'
────────────────────────────────────────
hitmanman (hitmanman) 于
────────────────────────────────────────
alfriend (天使) 于 2003年11月20日09:31:01 星期四 说道:
是你这样旋转的吗?
────────────────────────────────────────
josephpei (蕉下客) 于 Thu Nov 20 10:10:58 2003 说道:
难道不对吗?
────────────────────────────────────────
zjliu (秋天的萝卜) 于 2003年11月20日14:50:15 星期四 说道:
旋转矩阵a,b,c差不多就是这个样子,相应的正负号对不对
我还不能肯定(常时间没用,记不清了)。正确与否自己
试一下就可以了,但是a,b,c和[x,y,z]作用最好写为
[x1,y1,z1]=[x,y,z]*a*b*c;
────────────────────────────────────────
hitmanman (hitmanman) 于
────────────────────────────────────────
josephpei (蕉下客) 于 Thu Nov 20 15:02:28 2003 说道:
你记的很正确
偶这是顺时针旋转,和按右手法则规定的正向正好反向
────────────────────────────────────────
alfriend (天使) 于 2003年11月20日17:34:35 星期四 说道:
若按顺时针分别绕x,y,z旋转Alpha、Beta、Gama
则a=[1 0 0
0 cos(Alpha) sin(Alpha)
0 -sin(AlphaAlpha) cos(Alpha)];
b=[cos(Beta) 0 -sin(Beta)
0 1 0
sin(Beta) 0 cos(Beta)];
c=[cos(Gama) sin(Gama) 0
-sin(Gama) cos(Gama) 0
0 0 1];
[x1 y1 z1]'=c*b*a*[x y z]'
是不是这样?
────────────────────────────────────────
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.268毫秒