Matlab坐标系绘制
2015-06-15 22:25
543 查看
1 坐标系显示
关于坐标系的创建,参考资料[4]的讨论中提到了一种直接使用画线函数(line)来画出各条坐标轴的方法。然而,在matlab中显示坐标系有更加方便快捷的方法,调用下面的函数即可,效果如图1.1所示(其实,画图的时候默认显示坐标系)。
图1.1 matlab普通坐标系
2 移动坐标轴到原点
2.1 案例1
由图1.1可见,对于数学图形而言,这种坐标显示方式与我们熟悉的数学坐标系不一样,我们更加倾向于纵横坐标都经过原点,并且有正方向的箭头。针对这个问题,参考资料[1]写了个函数,用于将坐标轴移动到坐标原点,效果如下图2.1所示:
图2.1 移动坐标轴之后效果图(来源于参考资料[1])
2.2 案例2
参考资料[3]也给出了达到这个目的方法。下面是根据参考资料[3]完善的代码:
效果如图2.2所示。
3 旋转坐标轴
有时候,我们希望将坐标轴旋转一个特定的角度。对于这个问题,参考资料[2]的讨论中提到下面的函数:
测试代码:
效果如图3.1所示。
图3.1 坐标系旋转效果图
由3.1可见,第2个坐标已经旋转,但是视觉效果并不理想(两条轴线并不垂直!)。
参考资料
[1]MATLAB 把坐标轴(X Y轴)移到坐标原点
[2]一个三维坐标轴旋转的问题
[3]matlab中坐标轴移动
[4]如何绘制三维坐标系,坐标轴相交到同一点O
[5]请问如何用matlab实现坐标绕原点旋转15°得到新的坐标
关于坐标系的创建,参考资料[4]的讨论中提到了一种直接使用画线函数(line)来画出各条坐标轴的方法。然而,在matlab中显示坐标系有更加方便快捷的方法,调用下面的函数即可,效果如图1.1所示(其实,画图的时候默认显示坐标系)。
axis on
图1.1 matlab普通坐标系
2 移动坐标轴到原点
2.1 案例1
由图1.1可见,对于数学图形而言,这种坐标显示方式与我们熟悉的数学坐标系不一样,我们更加倾向于纵横坐标都经过原点,并且有正方向的箭头。针对这个问题,参考资料[1]写了个函数,用于将坐标轴移动到坐标原点,效果如下图2.1所示:
图2.1 移动坐标轴之后效果图(来源于参考资料[1])
2.2 案例2
参考资料[3]也给出了达到这个目的方法。下面是根据参考资料[3]完善的代码:
uoo=1; x = -5:0.01:5; y = uoo*tanh( uoo*x/2^(1/2) ); plot(x,y) hold on axis off box off %% x轴 plot([-5,5],[0,0],'k'); x = get(gca,'XTick') + 0.1; Lx = get(gca,'XTickLabel'); y = zeros( size(x) ) - 0.1; text(x, y, Lx); %% y轴 plot([0,0],[-5,5],'k'); y = get(gca,'YTick'); Ly = get(gca,'YTickLabel'); x = zeros( size(y) ) - 0.1; text(x, y, Ly);
效果如图2.2所示。
3 旋转坐标轴
有时候,我们希望将坐标轴旋转一个特定的角度。对于这个问题,参考资料[2]的讨论中提到下面的函数:
camroll(axes_handle, dtheta)matlab帮助文档中对这个函数的解析为:Rotate camera about view axis。
测试代码:
clear clc axis on axes_handle = axes(); % 创建一个新坐标系,并使其成为当前坐标系 dtheta = 45; camroll(axes_handle, dtheta); % 将坐标系axes_handle旋转角度dtheta
效果如图3.1所示。
图3.1 坐标系旋转效果图
由3.1可见,第2个坐标已经旋转,但是视觉效果并不理想(两条轴线并不垂直!)。
参考资料
[1]MATLAB 把坐标轴(X Y轴)移到坐标原点
[2]一个三维坐标轴旋转的问题
[3]matlab中坐标轴移动
[4]如何绘制三维坐标系,坐标轴相交到同一点O
[5]请问如何用matlab实现坐标绕原点旋转15°得到新的坐标
相关文章推荐
- matlab绘图函数plot
- MatLab之HDL coder
- Matlab电路问题的仿真
- MATLAB中给图像加高斯噪声时imnoise的方差参数问题
- MatLab之Simulink之simple model
- matlab代码到C++代码转化及使用全攻略
- matlab pca 函数 输入输出数据的意义
- libsvm matlab使用总结
- matlab workspace中的图标的含义及给数组和cell array赋值
- 使用MATLAB和UML进行嵌入式开发---四轴飞行器室内定位及导航系统 开篇(一)
- 分类之数据集导入matlab方法
- matlab中strcmp函数的使用
- matlab 联合modelsim 调试图片
- LIBSVM 在matlab 2013添加 VS2013 c++编译器
- Matlab与C++混合编程
- MATLAB中fix的运用
- MATLAB中repmat的运用
- MATLAB中permute的运用
- Matlab的Profile功能
- 用MATLAB發EMAIL以及給全北大同學群發EMAIL呵呵呵