matlab的rotate函数的使用

利用rotate函数可以实现定轴旋转

rotate(vector,[axis],angle,origin)

函数括号内,第一项为矢量,就是要旋转的矢量;第二项为坐标轴,在空间选定某坐标轴后,矢量绕此坐标轴顺时针旋转;第三项为旋转的角度,第四项为旋转轴的起点坐标,一般默认为坐标原点。

注意:rotate函数的旋转方向默认遵循右手螺旋定则。

 

下面附上代码实例

%模拟制作简易钟表表盘
t=linspace(0,(2-1/6)*pi,12);
x=2*cos(t);
y=2*sin(t);

hour=plot(x,y,'or');
xlim([-5,5]);
ylim([-5,5]);
%zlim([-10,10]);
hold on
pointer=plot([0,0],[1.8,0]);
i=0;
while i<=160
    i=i+1;
    rotate(pointer,[0,0,-1],2)
    pause(0.1);
end

通过上述代码可以实现形如钟表的表盘指针。

注:1.pointer为所画的钟表指针,plot函数第一个中括号内为x的坐标,第二个中括号内为y的坐标。

        2.rotate函数中,如果选取[0,0,1]即z轴正半轴为旋转轴,会呈现出逆时针旋转(因为右手螺旋定则),因此本代码选用[0,0,-1]即z轴负半轴为旋转轴,呈现出顺时针旋转的效果。

        3.pause函数为停顿时间,括号内可以尽量取小值,这样停顿很短暂,能呈现出来较平滑旋转的效果。如果括号内值较大,则指针旋转的顿挫感会较强。 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值