check if coordinates are inside the hexagon

check if coordinates are within the hexagon, can be used to filter out positions outside.
460 Downloads
Updated 30 Nov 2011

View License

check if the position(s) are inside a hexagon

pos: coordinates of the positions, size (#positions, 2);
radius: radius or edge length of the hexagon
center: of the hexagon, by default is [0 0]
rotation: of the hexagon, by default is 0 degree
output: a bool vector of size (#positions, 1); true if inside.

by Yuanye Wang, Powerwave Technologies
yuanye.wang@pwav.com

An example is given below, which generates positions inside a hexagon with edge length 10, center position [3 10], and rotated 40 degree:

clear all; close all; clc
center = [3 10];
radius = 10;
rotation = 40;
pos = randn(50000,2) * radius + repmat(center, 50000,1);
x = inside_hex(pos, radius, center, rotation);
plot(pos(x,1),pos(x,2),'o')

Cite As

Yuanye Wang (2024). check if coordinates are inside the hexagon (https://www.mathworks.com/matlabcentral/fileexchange/34020-check-if-coordinates-are-inside-the-hexagon), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.0.0