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毫秒