pointPolygonTest
Version 1.0.0 (105 ko) par
cui,xingxing
determine points are inside, on or outside a polygon/contour or calculate signed distance between points and the nearest contour edge.
Points In Polygon Test
This function inpolygon2
is an enhancement of matlab's built-in function inpolygon
, which supports the calculation of the distances.Support C/C++ code generation.
👀View the example ▶️Run the example
Example
%% data, is same as https://www.mathworks.cn/help/matlab/ref/inpolygon.html fisrst Example
L = linspace(0,2*pi,6);
xv = cos(L)';
yv = sin(L)';
rng default
xq = randn(250,1);
yq = randn(250,1);
%% use inpolygon2 function determine points whether inside polygon
points = [xq,yq];
dists = inpolygon2([xv,yv],points);
figure;hold on
plot(xv,yv) % polygon
plot(xq(dists==1),yq(dists==1),'r+') % points inside
plot(xq(dists==-1),yq(dists==-1),'bo') % points outside
axis equal;
title("points in polygon")
%% Distance Rating Heat Map
xy=-2:.02:2;
[x,y] = meshgrid(xy);
points = [x(:),y(:)];
dists2 = inpolygon2([xv,yv],points,true);
dists2 = reshape(dists2,size(x));
figure;hold on;
xydata = [xy(1),xy(end)];
imagesc(xydata,xydata,dists2)
plot(xv,yv,'w-','LineWidth',2)
colormap('jet');
colorbar
axis equal off
title("signed distance hot map")
Citation pour cette source
cui,xingxing (2024). pointPolygonTest (https://github.com/cuixing158/pointPolygonTest/releases/tag/v1.0.0), GitHub. Extrait(e) le .
Compatibilité avec les versions de MATLAB
Créé avec
R2022b
Compatible avec toutes les versions
Plateformes compatibles
Windows macOS LinuxTags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Découvrir Live Editor
Créez des scripts avec du code, des résultats et du texte formaté dans un même document exécutable.
Version | Publié le | Notes de version | |
---|---|---|---|
1.0.0 |
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.
Pour consulter ou signaler des problèmes liés à ce module complémentaire GitHub, accédez au dépôt GitHub.