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

CGAL:线段和多边形之间的交点?
[英] CGAL: Intersection between a segment and a polygon?
查看:422 发布时间:2020/9/30 21:04:15 computational-geometry cgal

本文介绍了CGAL:线段和多边形之间的交点?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一组多边形,我想测试它与线段之间的交点。
我检查了手册,但找不到匹配的功能。
点,线,线段,三角形,平面之间的交点确实存在。
多边形之间的交点也在那里。
我的问题是:

有这样的功能吗?

如果没有,这是否意味着我需要将多边形分解为多个部分,并在这些部分之间进行相交? (我不愿意这样做的原因是,我认为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

我希望清楚,
Kiril

这篇关于CGAL:线段和多边形之间的交点?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lst0426

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值