Fast Inpolygon in MEX

Fast inpolygon function implemented in MEX. So far one of the fastest.

You are now following this Submission

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://nl.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

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.3.0.0

n/a

1.2.0.0

Small updates in description.

1.0.0.0