当前位置: 首页 > 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')
http://www.xdnf.cn/news/29287.html

相关文章:

  • 【蓝桥杯 2025 省 A 扫地机器人】题解
  • Graham Scan算法求解二维凸包
  • 通过Xshell上传文件到Linux
  • Python:使用web框架Flask搭建网站
  • JS案例-Promise/A+ 规范的手写实现
  • 【厦门大学】DeepSeek大模型赋能政府数字化转型
  • OSPF实验
  • React-memo (useMemo, useCallback)
  • PG数据库推进医疗AI向量搜索优化路径研究(2025年3月修订版)
  • 破解保险箱
  • WinForms开发基础:实现带X按钮的ClearableTextBox控件
  • spring-batch批处理框架(2)
  • EAGLE代码研读+模型复现
  • Windows使用SonarQube时启动脚本自动关闭
  • 运算符重载
  • 小刚说C语言刷题——1035 判断成绩等级
  • firewalld 防火墙
  • 深入实战:使用C++开发高性能RESTful API
  • 详解反射型 XSS 的后续利用方式:从基础窃取到高级组合拳攻击链
  • 基于Python的中国象棋小游戏的设计与实现
  • CiteULike 数据集介绍与下载指南
  • AI时代下 你需要和想要了解的英文缩写含义
  • 基于单片机的热释电红外报警器(论文+源码)
  • 基于单片机的按摩器控制系统设计
  • 单例设计模式
  • springCloud/Alibaba常用中间件全集(上)
  • MySql 三大日志(redolog、undolog、binlog)详解
  • ubuntu24.04上使用qemu+buildroot+uboot+linux+tftp+nfs模拟搭建vexpress-ca9嵌入式linux开发环境
  • 关于viewpager常见的泄漏
  • 部署rocketmq集群