给定一些地区(散点)的坐标和海拔,怎么用matlab画出地形图

供稿:hz-xin.com     日期:2025-01-14
matlab画地形图

Matlab画三维地形图

帮你搜索到一个好的:
function [data]=SquareDiamond(N,initvalue)
%输入N为:方阵的维数2^N+1,在方阵的四个角的顶点上放置的初值,
%这里定为四个初值一样
% Example:
% tic;
% d=SquareDiamond(8,5);
% colormap(gray); %设置渲染的颜色
% surf(d); %画出三维曲面
% shading flat; %各小曲面之间不要网格
% toc %测试运行时间

n=2^N;
data=zeros(n+1);
data(1,1)=initvalue;
data(1,n+1)=initvalue;
data(n+1,1)=initvalue;
data(n+1,n+1)=initvalue;
data=mytry(data,n,0.3,n);

function [x]=rnd(absvalue)
%扩展的随机函数生成器,产生绝对值小于absvalue的随机实数
x=(rand(1)-0.5)*2*absvalue;

function [data]=mytry(data,m,r,n)
%square=========================================
%x-------x
%---------
%-- 0 -- 由四个x定中间的0
%---------
%x-------x
for i=1:m:n
for j=1:m:n
data((i+i+m)/2,(j+j+m)/2)=(data(i,j)+data(i,j+m)+data(i+m,j)+data(i+m,j+m))/4+rnd(r);
end
end
%diamond========================================
%----x--
%-----
%x- 0 -x 由四个x定中间的0
%--------
%----x---

%钻石步骤的横向部分
%line No.1
for j=1+m/2:m:n
data(1,j)=(data(1,j+m/2)+data(1+m/2,j)+data(1,j-m/2)+data(n+1-m/2,j))/4+rnd(r);
end
%middle
for i=1+m:m:n
for j=1+m/2:m:n
data(i,j)=(data(i,j+m/2)+data(i+m/2,j)+data(i,j-m/2)+data(i-m/2,j))/4+rnd(r);
end
end
%line last
for j=1+m/2:m:n
data(n+1,j)=(data(n+1,j+m/2)+data(1+m/2,j)+data(n+1,j-m/2)+data(n+1-m/2,j))/4+rnd(r);
end

%钻石步骤的纵向部分
%line No.1
for i=1+m/2:m:n
data(i,1)=(data(i,1+m/2)+data(i+m/2,1)+data(i,n+1-m/2)+data(i-m/2,1))/4+rnd(r);
end
%middle
for i=1+m/2:m:n
for j=1+m:m:n
data(i,j)=(data(i,j+m/2)+data(i+m/2,j)+data(i,j-m/2)+data(i-m/2,j))/4+rnd(r);
end
end
% line last
for i=1+m/2:m:n
data(i,n+1)=(data(i,1+m/2)+data(i+m/2,n+1)+data(i,n+1-m/2)+data(i-m/2,n+1))/4+rnd(r);
end

if (m>2)
data=mytry(data,m/2,r/2,n); %递归
end

如果你有大量的三维坐标点,也就是有n组 (x,y,z)数据
也就是数你有一个nx3的矩阵,或者三个长度为n的数组分别存放对应的x,y,z坐标

由于数据点是散点,不是规则的网格,所以不能用常规的正方网格画图

这时候可以用三角网格画图
首先根据数据,你要先有三个数组 X,Y,Z
他们长度相等,分别存放对应点的x,y,z坐标

然后将x,y坐标划分为Delaunay三角网格

TRI = delaunay(X,Y);

然后就可以利用tirmesh,或trisurf画三维图

trimesh(TRI,X,Y,Z)

在数学建模中,经常会遇到这样一类问题,要对一些山体进行地形地貌的图形绘制、对残缺建筑物进行还原,以及在山脉中开凿隧道时对岩石层规模大小进行预测,以避免 产生较大的工程成本。并且,我们只有一些相关物体的有限个坐标点,最终我们需要利用这些有限的坐标点,绘制出其完整的形状。由此,可以将未测量点(即未知的坐标点)的高度使用数据插值的方法求出来,再进行绘制。

工具/原料
Matlab
一些地貌的坐标数据
方法/步骤
首先,我们选择一个区域,选择某些地点测量其相对于某水平面高度的数据,下面我们要做的是用这些数据尽量准确地绘制出该地区的地形地貌图。数据如下:

下面我们通过Matlab对这些测量数据进行数据插值,并绘制出图形地貌。显然应该采用二维插值,在此采用效果更好的三次样条插值。在进行代码的编写前,我们先介绍一下Matlab二维插值函数 interp2()的用法。见下图:

最后,通过Matlab进行三次样条插值,并绘制出地形地貌图,代码如下:

clear clc;

%构造测量网格第一、根据垂直比例尺大小确定等高距、材料的厚度,以及基础等高线。

第二、等高线的标描、复印与剪裁工作。用彩笔标记,综合选择等高线,在强海绵材料上复印等高线时,按照从低到高的顺序,标明层数,逐层切割。

第三、山体的粘钉工作。用乳胶漆将底层的“梯田”,准确粘贴于底盘上,然后逐层进行叠加粘接,层与层之间套合不好的地方要随时用剪刀或手术刀进行修整。对于河流、湖泊,当用有机玻璃作原料时,先把水蓝色的有机玻璃压在基准起算面底下

采用插值法
参考http://zhidao.baidu.com/question/175906491.html#here
知道了一些点(x,y,z)坐标,怎样用MATLAB绘制出三维曲面?

EV-Globe产品主要功能
地形三维分析功能包括点、线、面三种模式,点模式支持获取任意点的经纬度坐标、海拔高度,并可通过文本输入精确坐标;线模式分为直线、路径、线簇三种形式,提供两点间剖面分析、距离、海拔落差等信息;面模式则提供地表面积、覆盖面积测量、最低和最高海拔显示、视域分析等功能。所有分析形式均支持高程标记、...

新疆喀纳斯海拔多少?
喀纳斯风景区位于新疆阿尔泰山中段,中国与哈萨克斯坦、俄罗斯、蒙古的边境地区。10030平方公里的地理坐标为北纬483020,东经870737。3.地形:喀纳斯景区位于阿尔泰山地貌植被垂直带,从高到低。海拔3000米以上,是现代冰川和永久积雪覆盖的高山冰雪封冻带;海拔2400-3000米,是冰缘亚高山冻原的席状草甸带;海拔1300-2400米,是...

如何在matlab实现离散点画图
利用scatter函数画散点图:plot(x,y,'r.')例子:假如你有3个点 No X Y 1 1 4 2 2 5 3 3 6那么代码如下:x = [1 2 3]y = [4 5 6]plot(x,y,'r.')figure scatter(x,y)

MATLAB如何在坐标矩阵中提取一定范围的点的坐标
设你的数据是a,则程序可这样:x=a(:,1);y=a(:,2);[x1,xind]=find(x>=1&&x<=3);[y2,yind]=find(y>=2&&y<=5);y1=y(xind);x2=x(yind);x3=[x1;x2};y3=[y1:y2];scatter(x3,y3)

matlab如何做散点图
在MATLAB中制作散点图的步骤:1. 打开MATLAB软件。2. 创建数据。可以使用MATLAB的随机函数生成一些随机数据,或者手动输入数据点。3. 使用plot函数创建散点图。通过指定两个向量作为输入参数来绘制散点图,其中每个向量包含一组数据点的坐标。可以使用'ro'等字符串指定散点的颜色和标记样式。例如,'ro'...

请问沈阳市的经纬度是多少?谢谢
沈阳位于北纬41°48′11.75″、东经123°25′31.18″之间,全市总面积逾12948平方公里,市区面积3495平方公里。沈阳,简称“沈”,别称盛京、奉天,是辽宁省省会、副省级市、沈阳都市圈核心城市,国务院批复确定的中国东北地区重要的中心城市、先进装备制造业基地和科技创新中心,全市下辖10区、2县,...

你见过最漂亮的 Excel 表格什么样?
Q~X列的(x1,y1)……(x4,y4)为这些散点的坐标,当没有选举事件时,散点都绘制到原点(0,0)。Z列按扇区总数编号,AA列取出各扇区对应的国家名,AA:AB列用来做等分饼图。AD:AE列用来制作圆环图。图表制作:一、以Q~X列的(x1,y1)……(x4,y4)数据做散点图。1、在2013中,选择...

南海上有四大群岛,分别是
地理坐标为北纬3°35′~11°55′,东经109°30′~117°50′;东西长约905公里,南北宽约887公里,海域面积为88.6万平方公里。南华水道由东经112°35′~116°30′之间横穿群岛,通过北纬10°55′、9°55′及8°40′成为三点连线,把群岛的北部和中部分开。有岛屿11座,沙洲6座;暗礁105座,...

怎么看等高线地形图
D、用坐标尺量读精确坐标 纵边压纵线,横边通过点;公里看图廓,米效看图边。 E、用坐标尺量读图...1:首先读出每条等高线的海拔数字(注意单位是米还是千米)。 2;观察等高线的分布状况,辨别地形特点和地形...在等高线密集的地方,坡度陡峻;等高线稀疏的地方,坡度和缓(由等高线判断坡度)。当等高线呈闭合状态时有...

如何使用数字地面模型?
数字地面模型(DTM)是通过收集大量地形点的三维坐标,利用特定的数学模型进行分析与联网,以描述地形起伏的数字化模型。它能够将地面特性以有序数值阵列的形式呈现,用于描述高程或海拔分布等。DTM能够以散点结构形式展示,每个点由三个三维坐标值构成,以直观展示地形的高低起伏。此外,DTM也可以通过多项式或...