Как я могу определить, находится ли 2D точка внутри многоугольника?

Я пытаюсь создать быструю 2D точку внутри алгоритма многоугольника для использования при тестировании попаданий (например Polygon.contains(p:Point)). Предложения для эффективных методов будут...