学习在 C++ Builder 中可视化地形 3D 数据开发GIS地理信息系统软件


您想学习如何可视化地形数据吗?我们如何查看 3D 功能?我们可以像 AI 中的激活函数一样在 3D 中显示特定功能吗?我们如何在 C++ 中创建 3D 地图?

地形数据是有关表面(通常是地球表面)高程的数据集。通常使用两种这样的数据类型,第一种是数字地形数据,表示通常在地形四边形地图上找到的信息,第二种是数字地形模型 (DEM)由数据网格组成。第一种数据模型,通常在四边形地形图上找到,例如等高线、道路、河流、铁路、城镇等。为简单起见,第一类数据将被称为数字地形图数据。第二种是数字高程模型或 DEM,由数据网格组成,网格中的每个单元格代表地球上某个点的高程。

C++ Builder 很容易构建这些简单的可视化。C++ 是一种快速编程语言,您可以开发完全本机的应用程序,这些应用程序以机器的全速运行。您可以使用 OpenGL 或 Direct3D 库或其他一些 3rd 方 3D 引擎。在 C++ Builder 中, 您可以直接创建自己的 3D 对象,您可以在运行时为它们设置动画。 C++ Builder FireMonkey 项目中的Viewport3D  ( TViewportd3D ) 组件可以很好地显示许多基本的 3D 对象,如平面、立方体、球体、圆锥、平面、Ellipse3D 等。请参阅这篇关于 在现代 Windows C++ 开发中使用 3D 的文章以 创建这些 3D 对象. 您还可以使用Model3D轻松地将 3D 对象加载到 Viewport3D  ( TModel3D )。

要创建要在Viewport3D 中使用的 3D 对象,  我们需要使用 TMesh 类。  TMesh是一种自定义的 3D 形状,可以通过绘制 3D 形状进行自定义。它是一个从其祖先TCustomMesh发布一组属性的类 ,以便让您在设计时从 IDE 中通过Object Inspector设计新的 3D 形状 。使用 Data 属性指定每个点的点、法线和纹理,以及绘制生成的三角形的顺序。设计的形状填充有通过MaterialSource 属性指定的 材料。如果未指定材质,则形状填充为红色。

视口3D

Viewport3D ( TViewport3D ) 是一个 3D 组件,用于在其空间中显示 3D 对象。 TViewport3D 实现了 IViewport3D 方法来描述如何看到 3D 对象。开发一些小型 3D 游戏或在您的应用程序中添加一些 3D 功能真的很简单也很好。Viewport3D 是一个组件,用于显示相机的视口或默认视图。您可以在表单的任何位置安排它的位置、宽度和高度,也可以在客户端视图中使用它来进行全屏显示。我们可以在没有 3D 相机的情况下使用 viewport3D,它使用自己设计的相机视图。如果您想使用相机并希望从该相机的视图中查看视图,则必须从其属性或如下所示将其UseDesignCamera属性设置为 false; 


Viewport3D1->UseDesignCamera=false;

您可以使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值