基于局部曲率熵和四叉树结构的三维地形曲面优化方法与流程

文档序号:12604536阅读:来源:国知局

技术特征:

1.一种基于局部曲率熵和四叉树结构的三维地形曲面优化方法,其特征在于包括以下过程:

(1)执行步骤(1-1)至步骤(1-10)以完成基于散乱地形点云和局部曲率熵的四叉树结构规则格网LOD构建:

(1-1)设置待构建的四叉树的最大深度N和局部曲率熵测度的最小阈值R0;

(1-2)载入带有地表高程属性的地形数据,所述地形数据包括规则格网DEM数据、地表调查点和等高线,将载入的地形数据离散成为空间散乱点云集;

(1-3)用距离反比权重法进行插值,获取空间散乱点云集的最大边界矩形的四个顶点的高程,以这四个顶点构成的节点作为四叉树的根结点Root,让当前结点pNode指针指向根结点Root,从根结点开始进行四叉树构建,则四叉树的每个父亲结点包含4个孩子结点m_pLeft、m_pLeftMid、m_pRightMid和m_pRight;

(1-4)以深度优先的方式依次递归每个结点的四个子结点进行判断,即对于每个结点node,根据该结点内部的节点按边组织,相邻两个节点构成一条边,依次得到m_LeftLine、m_DownLine、m_RightLine、m_UpLine四条边,每条边的变量存储这条边上的对应节点,所述判断包括以下过程:获取当前结点node所在的深度n,更新当前结点指针pNode,判断当前结点node的深度n<N是否成立,若n<N成立则转步骤(1-5),否则转步骤(1-9);

(1-5)获取node对应的四个节点q1、q2、q3和q4,求取中心点p的坐标;

(1-6)根据周围点的信息,求取p点的局部曲率熵R:

(1-7)判断R>=R0是否成立,如果成立,则转步骤(1-8),否则转步骤(1-9);

(1-8)将当前结点node均匀四分,求取9个节点中除去点q1、q2、q3和q4之外5个节点的坐标,用IDW法插值获得对应点的高程值,并将四个子区S1、S2、S3、S4作为当前结点node的孩子结点,按顺序加入四叉树中,然后转步骤(1-4)继续递归调用;所述子区包含四条边m_LeftLine、m_DownLine、m_RightLine和m_UpLine;

(1-9)判断所有子树是否递归完成,如果成立则转步骤(1-10),否则转步骤(1-4);

(1-10)四叉树构建完成,获取四叉树上所有叶子结点的节点信息,构建地形曲面模型并做可视化绘制和渲染;

(2)执行步骤(2-1)至步骤(2-5)以完成基于树更新的不同细节层次网格之间的裂缝消除:

(2-1)获取步骤(1-10)构建完成的四叉树的根结点指针pRoot;

(2-2)第一次更新:从下向上更新父亲结点,对于父亲结点的每一条边,将孩子结点中对应分布在这条边上的所有节点按次序添加到父亲结点的节点列表中,依次处理父亲结点的四条边;

(2-3)第二次更新:从上向下更新非叶子结点,对于当前结点的一条边,判断与该节点邻接的兄弟结点的对应边,将兄弟结点中多出来的节点,对应添加到当前结点的节点列表中;

(2-4)第三次更新:从上向下更新孩子结点,对孩子四个孩子结点的每一条边,对应判断其父亲结点,将父亲结点中多的节点,对应添加到孩子结点对应节点列表中;

(2-5)获取四叉树上所有叶子结点的节点信息,构建地形曲面模型并做可视化绘制和渲染,得到消除裂缝的建模结果。

2.根据权利要求1所述的基于局部曲率熵和四叉树结构的三维地形曲面优化方法,其特征在于:步骤(1-1)中四叉树的最大深度N的范围为[6,12],局部曲率熵测度的最小阈值R0的范围为[5,20]。

3.根据权利要求1所述的基于局部曲率熵和四叉树结构的三维地形曲面优化方法,其特征在于:步骤(1-6)根据周围点的信息,利用以下公式求取p点的局部曲率熵R:

<mrow> <msub> <mi>R</mi> <mi>i</mi> </msub> <mo>=</mo> <mo>-</mo> <msub> <mi>p</mi> <mi>i</mi> </msub> <msub> <mi>log</mi> <mn>2</mn> </msub> <msub> <mi>p</mi> <mi>i</mi> </msub> <mo>-</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>p</mi> <mi>j</mi> </msub> <msub> <mi>log</mi> <mn>2</mn> </msub> <msub> <mi>p</mi> <mi>j</mi> </msub> </mrow>

其中,Ri为任意点i处的局部曲率熵,k为p点临近范围内点的个数,临近范围为预设的范围,Pi为点i处的曲率概率分布,其计算公式为:

<mrow> <msub> <mi>P</mi> <mi>i</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>K</mi> <mi>i</mi> </msub> <mrow> <msub> <mi>K</mi> <mi>i</mi> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>j</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>K</mi> <mi>j</mi> </msub> </mrow> </mfrac> </mrow>

Pj为点j处的曲率概率分布,其计算公式为:

<mrow> <msub> <mi>P</mi> <mi>j</mi> </msub> <mo>=</mo> <mfrac> <msub> <mi>K</mi> <mi>j</mi> </msub> <mrow> <msub> <mi>K</mi> <mi>j</mi> </msub> <mo>+</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>i</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>k</mi> </munderover> <msub> <mi>K</mi> <mi>i</mi> </msub> </mrow> </mfrac> </mrow>

其中,Ki为点i处的曲率,Kj为点i邻域内点j处的曲率,曲率为已知量。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1