IntersectWith怎么排除多余的交点
用IntersectWith方法求两个多段线的交点 会有多余的交点 怎么排除多余的交点呢求教本帖最后由 bluelover 于 2021-8-31 13:27 编辑
这个问题似乎是AutoCAD本身的问题,我也遇到过。
我处理的方法是验证下交点是否在多段线上,然后剔除多余的"伪交点"。 多段线选择不延伸,减少多交点,一般都会有多交点,这就要看你需要什么样的交点,自己根据范围确定自己要的交点 是否使用了平面作为输入参数? 看看这个
https://help.autodesk.com/view/OARX/2019/ENU/?guid=GUID-13F06F2F-A19D-4E4C-B786-17D77D7EBD47 用IntersectWith即使使用了不延伸还有投影平面,当坐标数值很大时,比如31000000000,还会出现多余的交点。 将两实体移动到原点附近再求交!后把交点移动回原位 目前好像只有这个方法。坐标数值很大,但我不知具体多大,会出现多余的交点。 mkhsj928 发表于 2021-11-9 13:33
将两实体移动到原点附近再求交!后把交点移动回原位
为什么坐标值很大,就有可能得不到交点 weilu 发表于 2022-4-19 15:35
为什么坐标值很大,就有可能得不到交点
首先是内存有极限,这个极限来自于双精度浮点数,
而曲线求交点是经过多次牛顿迭代来逼近交点,当逼近的时候出现累加数超过了双精度之后,那么就会溢出了.
这个问题实际上桌子不需要解决,也很难解决.
求交对象包围盒max点很大的时候平移两个对象的中心到原点,
然后再求交就好了.
页:
[1]
2