介绍
以指定原点和方向旋转图像对象。
语法
rotate(h,direction,alpha)
rotate 函数在三维空间中旋转图形对象。
rotate(h,direction,alpha)
将图形对象 h 旋转 alpha 度。指定 h 为曲面、补片、线条、文本或图像对象。direction 是一个二元素或三元素向量,它与旋转轴原点共同确定旋转轴。旋转轴的默认原点是图框中心。该点未必是坐标区的原点。
正 alpha 定义围绕方向向量从旋转原点伸展的右旋角度。
如果 h 为句柄数组,则所有对象必须为相同坐标区的子级。
rotate(…,origin) 将旋转轴的原点指定为三元素向量 [x0,y0,z0]。
示例
hSurface = surf(peaks(20));
peaks(20)是matlab中自带的数据生成函数,其中参数20是格点密度。
将曲面图绕其 x 轴旋转 25 度。
direction = [1 0 0];
rotate(hSurface,direction,25)
[1 0 0]是x轴的单位矢量(事实证明不是单位矢量也可以,能够表达方向就可以)
如果旋转矢量变为[1,1,0],相当于绕x轴转25度后再绕y轴转25度,也可以换个顺序。
注意这里的方向
图中标明了三个坐标轴,是右手系。如果旋转矢量是[0,1,0],即绕y轴旋转时,右手大拇指朝向y轴正方向,四指握住的方向就是旋转的正方向,正如图中红色圆圈标识。旋转结果如下:
经测试,rotate函数对surf,plot,plot3画出的图形对象都有旋转效果,但是对stem或者stem3无效。