发布网友 发布时间:2022-05-15 02:31
共1个回答
热心网友 时间:2023-10-02 17:09
一、块段划分
块段划分也称为晶胞建模,其目的是将若干个实体划分为大小相同的一组块段(晶胞),每个块段用一个长方体和该长方体内矿物的品位来表示,这些块段为块段法储量估计提供空间坐标。块段划分模块输入若干个实体,输出一个块段(晶胞)文件,其中实体是由三角形面片组成的复杂空间封闭体,即一个空间体内允许有空洞,块段文件由一组块段组成,它的结构如表4-11。
表4-11 块段文件结构
对单个实体进行块段划分的算法描述如下:
step1:初始化表示实体的三角形数组TA,初始化块段计算的起始点坐标P0(x0,y0,z0),初始化块段的长L、宽W和高H,初始化块段品位值为0,初始化一个临时块段数组TA,使其长度为0,初化一个有效块段数组VA,使其长度为0。
step2:计算实体外包长方体右上角顶点的空间坐标P1(x1,y1,z1),令N1={(x1-x0)/L}+1,N2={(y1-y0)/W}+1,N2={(z1-z0)/L}+l。
step3:对左下角顶点坐标为P0,长、宽和高分别为Nl L、N2W和N3H的长方体进行网格划分,使每个网格长方体的长、宽和高分别等于L、W和H,将各网格长方体和相关品位值存储在一个临时块段数组TA中。
step4:如果临时块段数组TA中的每个块段都被处理过,转step6,否则在临时块段数组TA中取下一个块段。
step5:从块段的中心点向X轴正向引射线,计算该射线与实体表面相交的次数。如果相交次数为奇数,将该块段添加到有效块段数组VA中。转step4。
step6:返回有效块段数组VA,结束。
二、块段法储量估计
块段法储量估计的计算步骤如下:首先计算矿体在每个块内的平均品位;然后用块段储量计算公式(品位比重体积÷100)算出每个块段的储量;最后把每个块段的储量相加得到总储量。在以上步骤中,关键是计算平均品位的第一步,完成该计算的算法描述如下:
step1:初始化组合样数组CA,一个组合样表示为一个空间点和一个品位值,初始化块段数组BA,初始化搜索距离D。
step2:如果块段数组BA中的每个块段都被处理过,转step4,否则在块段数组BA中取下一个块段。
step3:计算块段的中心点坐标。计算到该中心点的距离小于D的组合样,将这些组合样到块段中心点距离的平方存入临时距离数组DA,将组合样相应的品位值存入一个临时品位值数组QA。如果DA中有某个值为0,则把相应的品位值存入块段中,否则按距离平方反比加权方法计算块段的平均品位,将结果存入块段中,转step2。
spt4:返e回块段数组BA,结束。
三、截面法含量估计
截面法储量估计和步骤如下:首先计算各截面的面积和该截面上矿体的平均品位;然后用公式((品位1+品位2)(面积1+面积2)截面之间的距离比重÷4)计算相邻截面之间矿段的储量;最后将各段矿体的储量相加得到总储量。在上述计算过程中,计算截面面积是一个关键步骤。计算一个简单多边形(即内部没有空洞的多边形)面积的算法描述如下:
step1:初始化平面单位法向量N,初始化表示平面简单多边形的有向线段数组LA,规定多边形(相对于法向量N)的正向为逆时针方向,LA中的有向线段的方向与多边形的正向一致,初始化多边形所在平面上任意一个点的坐标P0(x0,y0,z0),初始化多边形的面积S为0。
step2:如果LA中的每一条有向线段都被处理过,转step4,否则在数组LA中取下条有向线段P1P2,其中P1和P:的坐标分别为(x1,y1,z1)和(x2,y2,z2)。
step3:计算从(x0,y0,z0)到(x1,y1,z1)的矢量V1,计算从(x0,y0,z0)到(x2,y2,z2)的矢量V2,计算矢量V1和V2的叉积V1V2,该叉积用矢量V表示,计算点积V·N,该点积表示三角形的面积,令S=S+V`N,转step2。
step4:返回多边形的面积S,结束。