Dane są wierzchołki Pi = (xi, yi), i = 1, 2,..., n wielokąta, i punkt Q = (a, b). Jak sprawdzić, czy punkt Q leży wewnątrz wielokąta? Zwróćmy uwagę, że sformułowanie zagadnienia nie jest jednoznaczne: nie stwierdzono, czy łamana P1P2...PnP1 jest brzegiem badanego wielokąta. Jesli jest, i jest łamaną zwyczajną (bez samoprzecięć), to trzeba najpierw zbadać wypukłość tego wielokąta i postępować odpowiednio do rezultatu. Jeśli zaś łamana P1P2...PnP1 nie musi być brzegiem badanego wielokąta, to sam spis (zbiór) wierzchołków określa wielokąt tylko przy dodatkowym założeniu, że chodzi o wielokąt wypukły.
Pierwszy przypadek - wielokąt ograniczony łamana zamkniętą zwyczajną P1P2...PnP1. Najpierw sprawdzamy wypukłość wielokąta; dla każdej prostej PiPi+1 i prostej PnP1 sprawdzamy metodą, opisaną wyżej, czy pozostałe wierzchołki leżą po jednej stronie tej prostej. Jeśli tak, to badany wielokąt jest częścią wspólną półpłaszczyzn, więc jest wypukły. W takim wypadku, aby sprawdzic, czy punkt Q leży wewnątrz niego, wystarczy sprawdzić - dla każdej z prostych PiPi+1 i prostej PnP1 - czy punkt Q leży po tej samej stronie prostej, co wierzchołek Pi+2 (wierzchołek P1 dla i = n - 1, wierzchołek P2 dla i = n). Jesli tak, to należy do każdej z półpłaszczyzn, których częścią wspólną jest badany wielokąt, czyli leży wewnątrz wielokąta. Jeśli nie, to leży na zewnątrz lub na brzegu wielokąta.
Jeśli wielokąt okazał się niewypukły, to trzeba podzielić go na sumę wielokątów wypukłych. W tym celu szukamy nieprzedłużalnego łańcucha kolejnych wierzchołków PiPi+1...Pj takiego, że wszystkie pozostałe wierzchołki leżą po jednej stronie każdej prostej łączącej dwa kolejne wierzchołki w tym łańcuchu. Nieprzedłużalność oznacza, że ani prosta Pi-1Pi, ani prosta PjPj+1 nie mają już tej własności, tzn. wierzchołki wielokąta leżą po obu stronach każdej z tych prostych. Taki łańcuch wyznacza wystający "róg" wielokąta. Wielokąt przedstawiamy jako sumę wielokąta wypukłego PiPi+1...PjPi i wielokąta P1P2...Pi-1Pj+1...PnP1 (z odciętym "rogiem"), który ma mniej wierzchołków. Punkt Q leży wewnątrz wielokąta P1P2...PnP1 wtedy i tylko wtedy, gdy leży wewnątrz wielokąta (wypukłego!) PiPi+1...PjPi lub leży na boku PjPi lub leży wewnątrz wielokąta P1P2...Pi-1Pj+1...PnP1.
Drugi przypadek - wielokąt jest powłoką wypukłą
Conv(P1, P2,..., Pn) zbioru danych punktów
A = {P1, P2,..., Pn}. W tym przypadku trzeba znaleźć łamaną, która jest brzegiem badanego
wielokąta. Tworzymy dwa obiekty: podzbiór W zbioru
{P1, P2,..., Pn} - zbiór punktów
wewnętrznych, i ciąg wierzchołków x. Zaczynamy od dowolnego punktu Pi i dla każdej prostej
PiPj, j i sprawdzamy, czy wszystkie pozostałe wierzchołki leżą po tej samej stronie
prostej. Jeśli nie ma takiego punktu Pj, to punkt Pi przenosimy ze zbioru A do zbioru punktów
wewnętrznych W. Jeśli istnieje taki punkt Pj, to punkt Pi przenosimy ze zbioru A na koniec
ciągu wierzchołków x, i powtarzamy procedurę z punktem Pj zamiast Pi, aż okaże się, że ciągu
wierzchołków nie da się przedłużyć. Wtedy sprawdzany punkt dopisujemy na końcu ciągu wierzchołków,
a pozostałe w zbiorze A punkty przenosimy do zbioru W punktów wewnętrznych. Ciąg wierzchołków
wyznacza łamaną zwyczajną, która ogranicza badany wielokąt, i zagadnienie sprowadziło się
do pierwszego przypadku, przy czym już wiadomo, że badany wielokąt jest wypukły.