摘要:
边与边、边与面相交会得到公共部分Common Part,公共部分可能是点,也可能是重叠的边。在过滤相交的边与边、边与面时都有一定的优化空间,即使用BVH来加速检测相交部分。在快速判断边与边是否重叠、边与面是否重叠部分的代码采用固定数量的采样点的处理方式不太严谨。将相交的结果及过程数据都保存到BOPDS_DS中作为后面算法使用。 阅读全文
边与边、边与面相交会得到公共部分Common Part,公共部分可能是点,也可能是重叠的边。在过滤相交的边与边、边与面时都有一定的优化空间,即使用BVH来加速检测相交部分。在快速判断边与边是否重叠、边与面是否重叠部分的代码采用固定数量的采样点的处理方式不太严谨。将相交的结果及过程数据都保存到BOPDS_DS中作为后面算法使用。 阅读全文
posted @ 2023-09-27 21:35
OpenCASCADE
阅读(729)
评论(0)
推荐(0)

通过点与点、边和面的相交代码实现可以看出在BOPDS中对于相交结果保存了哪些数据。及模糊容差Fuzzy Tolerance的作用和精度。通过引入Pave, PaveBlock, Shrunk Range来保存求交结果及容差处理。
opencascade imgui glfw.
布尔数据BOPDS_DS是布尔操作中的数据中转站,将布尔操作的输入数据及中间计算结果数据都保存起来。
布尔迭代器BOPDS_Iterator通过BVH找出求交的模型中每对包围盒有相交的模型并提供遍历每对包围盒相交的模型的功能,为后面求交作准备。从其代码实现可以看出布尔选项使用OBB对性能提高是有限的,当使用AABB能检测出来的,再使用OBB会降低性能。当使用AABB检测出来相交,但OBB不相交的场景对性能提升明显。
opencascade glfw imgui
几何内核可以看成一个数学库的子集,只是在几何图形上的应用。学习几何内核的过程类比于学生时代掌握的数学工具。
OpenCASCADE中对两个曲面求交得到的交线进行了分类: ALine, GLine, WLine, RLine.
BVH在OpenCASCADE中也有广泛地应用,如开源版本中的模型快速碰撞检测,使用类BRepExtrema_ShapeProximity. 模型选择操作,光线跟踪等算法中都有应用。
浙公网安备 33010602011771号