论文部分内容阅读
几何约束求解是计算机辅助设计技术的核心内容。基于图论的求解方法作为求解几何约束问题的最重要的方法之一,其优点为求解速度快,有较低的时间复杂度,因此应用最为广泛。分解分析算法作为主要的基于图论的求解方法,在得到广泛应用的同时也有两个问题一直作为研究的焦点:搜索分离对算法的高复杂度问题以及无法指导后续算法求解问题。针对这两个问题,本文提出了一个新的基于D-tree分解的几何约束求解器。 针对第一个问题,为降低分解分析算法的时间复杂度,提出D-tree分离对搜索算法和D-tree添加虚边算法。本文将“结点的度”这一概念引入到几何约束求解中。通过对分解分析算法和归约分析算法性质的研究分析,提出并证明一系列新性质。根据这些性质提出D-tree分离对搜索算法和D-tree添加虚边算法。新提出的算法从概念上更容易理解,并且有着更低的时间空间复杂度。在D-tree分离对搜索算法和D-tree添加虚边算法的基础上,提出了D-tree分解分析算法,该算法将分解分析算法每轮递归的时间复杂度由由O(E+V)降低到O(V)。 针对第二个问题,根据D-tree分解分析算法分解结果的规律性提出D-tree分解结果表示,进而给出了指导后续算法求解的求解序列导出算法。针对分解分析算法与基于数值的求解方法配合求解问题过程中出现的求解顺序不明确问题,根据提出的D-tree分解结果表示本文提出求解序列导出算法。该算法可以给出一个求解序列,使后续算法不必判断直接按顺序求解,避免不必要的资源损失。 最后,将D-tree分解分析算法和求解序列导出算法作为主要部分,本文提出基于D-tree分解的几何约束求解器。该求解器可以实现对几何约束图的分解,并给出后续算法的求解序列。通过对两个几何约束问题的求解,表明基于D-tree分解的几何约束求解器从概念上更易理解,有着更好的求解效率并且能避免不必要的资源损失。