编三维地质建模系统-整体思路
当前位置:以往代写 > C/C++ 教程 >编三维地质建模系统-整体思路
2019-06-13

编三维地质建模系统-整体思路

编三维地质建模系统-整体思路

副标题#e#

接办三维地质建模系统体例的项目时,我只是一个很菜鸟的业余编程喜好者, 但我对付这个项目很感乐趣,不管功效如何,参加这个项目标进程就很有意思。

语言选择:c++。选择c++是思量到c++可以向下兼容c,同时兼具面向工具的特 征。

IDE:原来规划操作VC++6.0,因为VC++6.0是今朝的主流开拓三维可视化的IDE ,不外利用难度较大,并且我们率领用的是C++ BUILDER,C++ BUILDER具有上手 快、建造界面浅易的利益,于是选择用BCB了。

三维图形库:操作open graphics library(opengl),至于Open Inventor (OIV),临时不规划用,在开拓进程中假如OPENGL用得较量好了再思量是否用 OIV。

主要难点:

(1)地质三维建模要领:地质体是一个三维的、非均质性很是明明的巨大体 ,和CAD系统对比建模要领要巨大许多。

(2)三维地质模子的三维显示与交互:出格是交互成果的实现较量坚苦。

(3)对海量数据的处理惩罚:地质体三维数字化数据长短常复杂的,一个地层就 动辄数十、上百万个离散点。

自顶向下的方针解析思路:

三维地质建模系统是一个很复杂的软件工程,假如不举办方针解析来慢慢告竣 的话,实现起来将会遥遥无期。1961年,美国为了实现1970年登上月球曾经拟定 了具体的登月打算:

(1)发射火箭到大气层;

(2)环抱地球;

(3)发射火箭,环抱月球;

(4)月球着陆器从火箭中疏散,在月面降落;

(5)月球着陆器分开月球,与轨道舱汇合;

(6)返回地球;

(7)进入大气层;

(8)返回舱安详坠入大海。


#p#副标题#e#

然后每一个阶段方针更进一步地解析为更小的方针,公然在1969年,人类首次 登岸月球。

我们举办的方针解析进程如下:

(1)成立一个100×100×100的数据体,实现多层地层建模。

进一步解析:

①给定100个地层层面离散点,将地质数据体分为两个层块,实现对两个层块 别离举办属性值插值。

②给定少于100个离散点,自动延拓到数据体界线。

③给定多于100个离散点,自动裁剪到数据体界线。

④增加一个与上一个地层近平行不相接的地层层面,将地质数据体分为三个层 块,实现对三个层块别离举办属性值插值。

⑤增加一个与上一个地层部门相接的地层层面,将地质数据体分为三个层块, 实现对三个层块别离举办属性值插值。

⑥实现任意多层层面任意拓扑干系的地质建模和属性插值算法。

(2)成立一个100×100×100的数据体,实现地层-断层殽杂建模 。

进一步解析:

①实现一个地层面与一个断层面的相交线的求取算法

②实现按照一对相交线对一个地层举办撕裂的算法,并分块举办属性值插值。

③实现按照一对相交线对多个地层举办撕裂的算法,并分块举办属性值插值。

④实现按照两对相交线对多个地层举办撕裂的算法,并分块举办属性值插值。

⑤实现按照任意多个相交线对多个地层举办撕裂的算法,并分块举办属性值插 值。

(3)成立一个10000×10000×10000的数据体,实现地层-断层混 合建模。

进一步解析:

①将原始数据举办抽稀,使每个层面的数据少于便是10000.

②操作内存映射的技能对数据举办简朴操纵。

③将第二步调的算法用内存映射的技能举办算法从头编写。

(4)实现三维地质模子的三维显示。

(5)实现三维地质模子的三维交互(及时查询与修改模子)

    关键字:

在线提交作业