[英]Overlay 3D Surface Plot over 3D Globe in MATLAB
我想在MATLAB中將3d曲面圖放置在地球上。 我無法正常工作。
這是代碼:
% Sampele Data
longitude = [1 2 3]
latitude = [3 2 1]
elevation = [12 21 13; 15 14 15; 12 16 15]
% Create Globe
figure
axesm('globe')
gridm('GLineStyle','-','Gcolor',[.8 .7 .6],'Galtitude', .02)
load coast
plot3m(lat,long,'k')
view(3)
axis off; zoom(2)
% Overlay Surface Plot
mesh(longitude,latitude,elevation)
surfm(longitude,latitude,elevation)
盡管不是很明顯,但是您的代碼實際上似乎可以正常工作。
要查看它,請首先刪除線mesh(longitude,latitude,elevation)
因為它未在經緯度坐標中繪制。
現在的問題是, surfm(longitude,latitude,elevation)
僅繪制了一個很難發現的微小區域。 要找到它,請注釋掉plot3m(lat,long,'k')
,運行腳本並注意地球右半角的微小表面。
為了證明您的腳本有效,您還可以將最后一行替換為
surfm(lat(1:200),long(1:200), rand(200,200))
給南極的一部分隨機上色
順便說一句,您的最后一行不應該讀surfm(latitude,longitude,elevation)
嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.