苹果手机通过气压计测量海拔高度的App大家给介绍下?

苹果手机通过气压计测量海拔高度的App大家给介绍下?,第1张

海拔表专业版可以实时测量海拔高度

海拔表是一款可以测量实时海拔高度的手机软件,可以根据海拔高度绘制详细的路线高度图,也可以规划好出行的线路。这个应用程式可让查看地球表面所有位置的高度。只需移动地图即可获取数据,或输入所需的地址和位置。可以使用在线数据库,设备上的内置GPS或气压计找到当前位置的海拔高度。

另外,使用设备上的内置气压计确定当前位置的高度。该应用程序可以使用颜色指南在地图上绘制记录的高程。您可以从原始气压数据测量海拔,也可以从海平面测量相对压力。

扩展资料:

海拔测量原理:

由平均海水面起算测量得到的地面点高程,称为海拔高度或绝对高程。平均海水面也称为大地水准面,它的一个特点是,该面上的任何位置,平均海水面都与重力的方向相垂直。

然而,由于受到地球内部质量分布不均匀和地球自转等因素的影响,地球表面各点的重力方向并非都指向地球的球心,即各处的重力方向不同,这就使得平均海水面(大地水准面)不是一个标准的球面,而是形成了一个不规则的曲面。

信息测绘与传统测绘的一个主要区别是:传统测绘表示信息是以二维地图平面为信息载体的,而信息化测绘和数字海洋建设需要全面实现三维可视化。因此,准确地确定高程起算点和测量各地的高程是不可或缺的基础工作。无论是确定陆地的高程,还是动态监测海洋,测量海面的高度都有重要的意义。

实际观测中,重力和大气会对量取精确测量数值有干扰,因此测量珠峰的同时还要观测重力和气象情况,做多方面的改正计算,得到最优结果。

参考资料来源:appstore-海拔表专业版

三维场景中经常创建地形,地形的生成,一般使用高度图来做。

高度图(height map)常见的是用灰度图的形式表示,也可以通过其他形式表示,比如声音流等。主要的目标是提供一个数组,数组中的每个元素都制定地形方格中一对应点的高度值,地形渲染器通过高度图创建三维地形。

灰度(grayscale)是指黑色和白色的颜色深度,范围是0~255,0表示黑色,255表示白色。随意黑白照片也称灰度图。

可以类比DPI(每平方英寸上有多少像素点),像素点越多,图像的精准度越高,同时文件的尺寸也越大。

有五计算方法,假设某点的颜色位RGB(R、G、B):

CLOD:Contunuous Level Of Detail,即连续层次细节,再不影响画面视觉效果的条件下,通过逐次简化景物的表面细节,减少场景的集合复杂性,从而提高绘制算法的效率。

CLOD技术通常对每一个原始多面体模型建立几个不同逼近精度的集合模型,与原模型相比,每个模型均保留一定层次细节。再绘制时,更具不同的标准选择适当的层次模型表示物体。

那么HeightMap是怎么转化成NormalMap的呢? 其实并不难,在《3D游戏与计算机图形学方法》中,提供了一种由高度图生成法向图的方法。其思想是根据高度图中的象素与其周围象素的高度差,在切空间构造S向量和T向量,由SXT得到法线向量。设H(i,j)表示在height map上(i,j)象素点的高度值,则在切线空间S和T方向的切向量可以表示成:S(i,j) = (1,0,H(i+1,j) - H(i-1,j) ) T(i,j) = (0,1,H(i,j+1) - H(i,j-1) ) Normal(i,j) = S(i,j) X T(i,j) H(i+1,j) – H(i-1,j)为沿S方向的高度差,也就是S方向的坡度,H(i,j+1) - H(i,j-1)为沿T方向的高度差,也就是T方向的坡度。VS_OUTPUT main(float4 Pos: POSITION){ VS_OUTPUT Out// Clean up inaccuracies Pos.xy = sign(Pos.xy)Out.Pos = float4(Pos.xy, 0, 1)// Image-space Out.texCoord.x = 0.5 * (1 + Pos.x)Out.texCoord.y = 0.5 * (1 - Pos.y)return Out} float4 main(float2 texCoord: TEXCOORD) : COLOR { float2 off = 1.0 / HeightMapSizefloat Scale = 1// Sample teh neighbor float s0 = tex2D(Heightmap, texCoord + float2(-off.x,0)).rfloat s1 = tex2D(Heightmap, texCoord + float2( off.x,0)).rfloat s2 = tex2D(Heightmap, texCoord + float2( 0,-off.y)).rfloat s3 = tex2D(Heightmap, texCoord + float2(0,off.y)).rfloat3 U = float3(1,0,s1 - s0)float3 V = float3(0,1,s3 - s2)float3 normal = normalize(Scale * cross(U,V))// Pack [-1, 1] into [0, 1] return float4(normal * 0.5 + 0.5,1)}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11832536.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存