当前位置: 首页 > news >正文

【Matlab】中国东海阴影立体感地图

【Matlab】中国东海阴影立体感地图
【Matlab】中国东海阴影立体感地图
【Matlab】中国东海阴影图立体感画法
以前分享过一次,链接如下:
中国海域地形图

但是以前还是有些小问题,这次修改了。
另外,增加了新的画法:

另外,本期使用数据地形数据下载教程见往期:
链接如下:【数据】你不知道20种地形数据及其精度–附数据链接及其详细介绍–以及下载教学

地形裁剪数据函数见往期海洋数据处理工具包:
链接如下:
matlab 处理海洋数据并画图的工具包–ocean_data_tools
各种样式一览:代码放最后了!
图片在这里插入图片描述

更改海岸线:

在这里插入图片描述

其他样式:
图片在这里插入图片描述

图片在这里插入图片描述

陆地不显示:
图片在这里插入图片描述

图片在这里插入图片描述
在这里插入图片描述

还有最后一种样式:
图片在这里插入图片描述

图片在这里插入图片描述

图片在这里插入图片描述

最后:本公众号可提供学习交流平台:可投稿发布。可传播学术文章。代码。学术会议等。可扫码联系。

代码: 群内有全部代码数据函数等。

clear; clc; close all;% Specify path to downloaded bathymetry.
bathymetry_dir = 'D:\data\etopo\topo_20.1.nc'; % YOU MUST MODIFY LINE 17!
% bathymetry_extractregion = [0, 45.0 ,105, 135];      % [-90 90 -180 180];
[bathy] = bathymetry_extract(bathymetry_dir,region);% bathymetry_plot
% Load bathymetry data.
bath = bathy.z;
lat = bathy.lat;
lon = bathy.lon;coast = load('coast_china_shore.dat');  % 加载海岸线数据
index = find(isnan(coast(:, 1)));  % 查找数据中的NaN值(海岸线分隔符)%%
close all
figure('position',[10 10 1480./4 1755./4],'color','w')
% 绘制海洋表面
surf(lon, lat, bath.', 'LineStyle', 'none', 'FaceLighting', 'none');%, 'FaceLighting', 'none'
shading interp;  % 平滑着色,增加细节感
% 获取蓝色渐变色图(500个颜色,用于海洋部分)
blue_map = m_colmap('blues', 500);
% 创建白色渐变色图(6个颜色,用于陆地部分,纯白色到浅白色渐变)
white_map = [linspace(1, 1, 6)' linspace(1, 1, 6)' linspace(1, 1, 6)'];
% 合并蓝色渐变和白色渐变色图
combined_map = [blue_map; white_map];
% 设置颜色映射
colormap(combined_map);
% 设置深度范围,使深度小于0的区域显示为蓝色,大于0的区域显示为白色
caxis([-6000 1000]);
% 设置光源
l1 = light('Position', [0 0 1000000000], 'Style', 'infinite');  % 使用无限光源
l1.Color = [1 1 1];  % 设置为白色光源
% 使用 `lighting flat` 来避免光照模型影响白色部分
lighting flat;  % 使用平面光照模型,避免白色部分变灰
% 设置材质为 `dull`,减少反射以避免白色部分的光泽
% material dull;
% material([0.7, 0.5, 0.5]);  % 只保留环境光
material([0.7, 0.3, 0.3]);  % 只保留环境光
% 聚焦光源
camlight('headlight');  % 调整光照,聚焦在视角前方
% 设置坐标轴范围
xlim([105 130])
ylim([0 45])
% 加载并绘制海岸线
hold on
% 循环遍历海岸线数据并绘制
for i = 1:length(index) - 1plot(coast(index(i) + 1:index(i + 1) - 1, 1), ...coast(index(i) + 1:index(i + 1) - 1, 2),'color',[0.68, 0.85, 0.9], 'LineWidth', 1.2);  % 绘制海岸线,颜色为黑色hold on%%[0.68, 0.85, 0.9]
end
box on
% 设置视角为 2D 视图
view(2);
% 导出图像
export_fig('China_sea_version11.jpg','-r600')
% print('China_sea_version1','-dpdf','-fillpage')

相关文章:

  • 梅施CPQ + AI:开启智能AI与报价软件的新潮流
  • 大模型Rag - 文本分块
  • libevent的bufferevent测试用例和使用方法(附带源码)
  • 腾讯wxg企业微信 后端开发一面
  • 基于Ubuntu2504部署OpenStack E版
  • uv:重新定义Python开发效率的下一代工具链
  • GNU,GDB,GCC,G++是什么?与其他编译器又有什么关系?
  • Android TTY设备调用流程和简单分析
  • Vue3 本地打包启动白屏解决思路!! !
  • Springboot+vue3开发项目——热点事件
  • YOLO拓展-NMS算法
  • Dijkstra 算法
  • 用usb网卡 虚拟机无法开到全双工的解决办法
  • 时态--06--现在完成時
  • jmeter中文乱码问题解决
  • k8s安装kubeadm
  • 自由学习记录(56)
  • 算法期末复习
  • 任意文字+即梦3.0的海报设计Prompt
  • No package docker-ce available问题的解决
  • 南部战区海军新闻发言人发表谈话
  • 陈杨梅:为爸爸寻我19年没有放弃而感动,回家既紧张又期待
  • ETF市场规模首破4万亿,月内ETF基金净流入超3000亿
  • 澳门世界杯“中日对决”,蒯曼击败伊藤美诚晋级女单决赛
  • 日本长野一夜连震47次,当局呼吁警惕更大地震
  • 南华期货递表港交所,冲刺第二家“A+H”股上市期货公司