matlab处理数据时绘制三维图的问题
发布网友
发布时间:2022-12-29 07:13
我来回答
共2个回答
热心网友
时间:2023-10-25 19:52
首先考虑及坐标系,ploar(o,r,s) 但是我查了一下,只能用极坐标画二维图,没有画三维极坐标的函数。
所以,方法只有一个,就是把极坐标转化成直角坐标再用maeh或surf来画。
经度纬度都是角度,高度是数值,首先要解决一个问题,就是高度值要设置成距离地球中心的高度,而不是地表高度,如果是地表高度,那么加上地球半径。
还有一个问题,就是最好你的数据是有顺序的,例如按找经度扫描、或者按照维度扫描,否则出来的图不是个表面。
经度a[-pi,pi],维度b[-pi/2,pi/2],高度h 。
假设y轴正方向是0经度,逆时针是正。
那么
直角坐标高度z=h*sin(b);在xoy面的投影长度为l=h*cos(b);
坐标x=h*cos(b)*sin(a);
y=h*cos(b)*cos(a);
就可以啦。
程序你自己会写吧
要是画出来了把图贴出来吧,看看你画的地图什么样
热心网友
时间:2023-10-25 19:53
插值到mesh数据网格上,然后再用surf