You are now following this Submission
- You will see updates in your followed content feed
- You may receive emails, depending on your communication preferences
This is a C implementation of the great Matlab code provided by Darren Engwirda. You can find his code in:
http://www.mathworks.com/matlabcentral/fileexchange/10391-fast-points-in-polygon-test
According to my estimates, it works more than 2x as fast. So far, this is one of the fastest implementation that I know of. Sorting is big step of this algorithm. To make it an exact replica, I use stable_sort of std library.
Here is a sample call:
tic(); [In2 On2]=inpolygon_fast(x, y, xv, yv); toc();
The call interface is similiar to inpolygon and not to inpoly. Here x and y are the points to check, where xv and yv define the polygon.
The attachment includes the cpp file, a sample function for comparison and Darren's code.
Cite As
Tolga Birdal (2026). Fast Inpolygon in MEX (https://ch.mathworks.com/matlabcentral/fileexchange/30819-fast-inpolygon-in-mex), MATLAB Central File Exchange. Retrieved .
Acknowledgements
Inspired by: INPOLY: A fast points-in-polygon test
General Information
- Version 1.2.0.0 (5.86 KB)
MATLAB Release Compatibility
- Compatible with any release
Platform Compatibility
- Windows
- macOS
- Linux
