在CGAL库中有没有一种方法可以计算圆和射线的交点?文档中说在CGAL::intersection() (2D Circular Kernel)中有直线和圆的交点。但是直线没有方向,我必须添加一些额外的检查。有没有一种方便的方法可以计算这样的交点,而不需要额外的操作,以使这个例程更快?也许没有必要使用循环内核?
在CGAL库中有没有一种方法可以计算圆和射线的交点?文档中说在CGAL::intersection() (2D Circular Kernel)中有直线和圆的交点。但是直线没有方向,我必须添加一些额外的检查。有没有一种方便的方法可以计算这样的交点,而不需要额外的操作,以使这个例程更快?也许没有必要使用循环内核?
1条答案
按热度按时间ubof19bj1#
不,你不能在CGAL中计算圆和射线的交点(我不是CGAL开发人员,所以如果我错了,希望他们能纠正我)。
但是,您可以使用两种类型的内核(圆形和线性)检测圆和射线之间的交点。全局CGAL函数
do_intersect
计算圆心和射线之间的距离,然后将其与圆半径进行比较-因此它不需要计算实际交点。如果你用
intersection
替换这里的do_intersect
,然后编译,你会看到所有类型的组合,它们是允许相交的。