OpenCASCADE 曲线求交eryar@163.com1 IntroductionOpenCASCADE中提供了二维几何曲线的求交类Geom2dAPI_InterCurveCurve,对应到三维几何只提供了GeomAPI_IntCS, GeomAPI_IntSS,没有提供几何的GeomAPI_IntCC求交类。这些几何求交一般使用的是数值算法,即解方程。对于两条几何曲线P(u1), Q(u2),求交就是解P(u1) - Q(u2) = 0这个方程。为什么对于三维几何曲线没有提供数值算法?对于拓朴边提供了求交算法IntTools_EdgeEdge,这个类是使用类似于曲面求交的离散网格法,使用了离散包围盒法。基于包围合盒的算法是个递归算法,算法思路:1) 检查两条边在参数范围内的包围盒,若空间干涉,则进行下一步;否则退出本次判断;2) 找出两条边包围盒的公共部分对应的参数,若没找到,则退出本次判断;3) 并将第一条边在参数范围内分割成2或3部分,执行第一步;4) 退出条件:没有相交或找到相交的参数值;第一次是分别分成2部分:在递归函数FindSolutions()中,只去对第一条边进行参数分割成3部分:2 辅助函数第一个辅助函数是FindParameters(),用来更新第二条边在第一条边的的包围盒中的参数范围,使用这个参数范围更新包围盒。第二个辅助函数是CheckCoincide
...
继续阅读
(101)