这是 Darren Engwirda 提供的伟大 Matlab 代码的 C 实现。 您可以在以下位置找到他的代码: http://www.mathworks.com/matlabcentral/fileexchange/10391-fast-points-in-polygon-test 根据我的估计,它的运行速度是原来的 2 倍以上。 到目前为止,这是我所知道的最快的实现之一。 排序是这个算法的一大步。 为了使它成为一个精确的副本,我使用了 std 库的 stable_sort 。 这是一个示例调用: 抽动(); [In2 On2]=inpolygon_fast(x, y, xv, yv); toc(); 调用接口类似于 inpolygon 而不是 inpoly。 这里 x 和 y 是要检查的点,其中 xv 和 yv 定义多边形。 附件包括 cpp 文件、用于比较的示例函数和 Darren
2021-10-05 22:08:58
6KB
matlab
1