gpt4 book ai didi

computational-geometry - CGAL:线段和多边形之间的交点?

转载 作者:行者123 更新时间:2023-12-04 14:51:03 25 4
gpt4 key购买 nike

我有一组多边形,我想测试它与线段之间的交集。
我查看了手册,但找不到匹配的功能。
点、线、段、三角形、平面之间的交点确实存在。
多边形之间的交点也在那里。
我的问题是:

  • 有这样的功能吗?
  • 如果不是,是否意味着我需要将多边形分解成段并在这些段之间进行交集? (我不愿意这样做的原因是,我认为CGAL实际上可能会使用这种方式来做多边形之间的交集。为什么没有这样的线和多边形相交的功能?)或者有其他更好的方法吗?怎么做?
  • 最佳答案

    最简单的方法是创建一个可能包含多个多边形的 Polygon_set_2 对象。要测试外部多边形与此集合的交集,您只需应用 do_intersect 方法。

    例如:

    typedef CGAL::Polygon_set_2<Kernel, std::vector<Kernel::Point_2>> Polygon_set_2;
    Polygon_set_2 ps;
    Polygon_2 poly;
    Polygon_2 line; // line is a polygon defined by 2 points

    ps.insert(poly);
    bool intersect = ps.do_intersect(line);

    有关polygon_set_2 的更多信息:
  • http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Boolean_set_operations_2_ref/Class_General_polygon_set_2.html
  • http://www.cgal.org/Manual/3.2/doc_html/cgal_manual/Boolean_set_operations_2_ref/Class_Polygon_set_2.html

  • 我希望很清楚,
    基里尔

    关于computational-geometry - CGAL:线段和多边形之间的交点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6551254/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com