簡體   English   中英

在MATLAB中的3D Globe上疊加3D表面圖

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM