Matlab 球坐标-直角坐标转换sph2cart
来源:互联网 发布:matlab 稀疏矩阵求逆 编辑:程序博客网 时间:2024/04/26 17:03
sph2cart函数及其解析
sph2cart函数是Matlab中从球坐标向直角坐标变换的函数。
先看一下matlab球坐标系的设定:
注: 图片引用自matlab帮助文件
注意到这个定义,Azimuth角和我们通常习惯的球坐标定义角是一样的,但Elevation却和我们平常定义的不同,我们平时习惯的球坐标定义的
因此这也导致坐标变换公式和我们平时使用的不同。
提到这个角度定义最主要的问题,是这个角度与卦限位置相关。Matlab使用的角度定义往往使我们陷入比较困惑的境地。当然解决这个问题也比较简单,我们可以在调用sph2cart时将角度做一次转换即可。
下面给一个例子。
clear;clc;clf;r=450;theta=linspace(pi/2,pi);phi=linspace(0,pi/2); % 第五卦限[tt,pp]=meshgrid(theta,phi);[x1,y1,z1] = sph2cart(pp,pi/2-tt,r);s1 = surf(x1,y1,z1);shading interp;axis equalview([120 10]);hold on;theta=linspace(0,pi/2);phi=linspace(0,pi/2); % 第一卦限[tt,pp]=meshgrid(theta,phi);[x2,y2,z2] = sph2cart(pp,pi/2-tt,r);s2 = surf(x2,y2,z2);shading interp;theta=linspace(0,pi/2);phi=linspace(pi*3/2,pi*2); % 第四卦限[tt,pp]=meshgrid(theta,phi);[x3,y3,z3] = sph2cart(pp,pi/2-tt,r);s3 = surf(x3,y3,z3);shading interp;theta=linspace(pi/2,pi);phi=linspace(pi*3/2,pi*2); %第八卦限[tt,pp]=meshgrid(theta,phi);[x4,y4,z4] = sph2cart(pp,pi/2-tt,r);s4 = surf(x4,y4,z4);shading interp;xlabel('x');ylabel('y');zlabel('z');axis([-500,500,-600,600,-600,600]);set(s1,'FaceColor','r','FaceAlpha',0.3);set(s2,'FaceColor','b','FaceAlpha',0.3);set(s3,'FaceColor','y','FaceAlpha',0.3);set(s4,'FaceColor','c','FaceAlpha',0.3);
0 0
- Matlab 球坐标-直角坐标转换sph2cart
- 利用Matlab进行地理坐标和直角坐标相互转换
- 极坐标转换为直角坐标
- matlab画图(复数的直角坐标和极坐标)(-)
- C语言实现直角坐标转换为极坐标
- 怎样把经纬度坐标转换为空间直角坐标
- WGS84坐标系下大地坐标转换为空间直角坐标
- 直角坐标转极坐标
- MATLAB在同一个图中绘制多条曲线(直角坐标和极坐标)
- 类的初步知识(C++中直角坐标和极坐标之间的转换代码)
- 第7节项目5-将极坐标转换为直角坐标
- Matlab 坐标转换,图形旋转
- ansys中的柱坐标与直角坐标关系
- GPS坐标系与直角坐标的转换
- 在unity向量空间内绘制几何(1):通过将极坐标转换为直角坐标,绘制阿基米德螺线,对数螺线与玫瑰线等几何图形
- 为TIF、JPG图片添加地理坐标/平面直角坐标
- 为TIF、JPG图片添加地理坐标/平面直角坐标
- python Matplotlib 画心形线(极坐标 直角坐标参数方程)
- 使用Appium测试Hybrid App的方法
- linux 文档的压缩和打包
- 考试2
- SVN和GIT的比较(一)
- Spring ,Springmvc,mybatis三大框架整合的配置文件支持
- Matlab 球坐标-直角坐标转换sph2cart
- 自定义滚动条插件
- oracle 索引
- http状态码
- 关注会议
- 正方形;
- 162. Find Peak Element
- python常用功能介绍之二:异常处理
- MATLAB SQL WHERE格式