如何理解CGAL中运算导致非稳健结果?

问题描述 投票:0回答:0

出于性能考虑,我使用精确谓词不精确构造来计算和比较我的基于距离的操作。但是,如果结果导致不准确,我想通过使用精确谓词精确构造来重复相同的操作。我如何理解发生了不准确的操作?

CGAL::Precondition_exception
有用吗?例如,我计划在 try 块中执行以下操作:

  • 使用不精确构造的
    CGAL::squared_distance()
    方法计算点平面距离
  • 比较结果
    CGAL::Lazy_exact_nt<boost::multiprecision::mpq_rational>
    值 然后,如果抛出
    CGAL::Precondition_exception
    异常,我想用精确的构造重复相同的步骤。

这是一种健康/稳健的方法吗?

predicate cgal robustness
© www.soinside.com 2019 - 2024. All rights reserved.