Vértice

Punto en un lado

Punto exterior

A = (1, 6)
B = (-2, 6)
C = (-2, -3)
D = (-3, -3)
E = (-3, -2)
F = (6, -2)
G = (6, -4)
H = (2, -4)
I = (2, 4)
J = (-1, 4)
K = (-1, -5)
L = (8, -5)
M = (8, 2)
N = (-4, 2)
O = (-4, -4)
P = (1, -4)
pol, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p = Polygon(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)
vértices: {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P}
Q = (5.62, 5.6000000000000005)
caminoCerrado = Join({vértices, First[vértices]})
ángulos = Sequence(Angle[Element[caminoCerrado, i], Q, Element[caminoCerrado, i + 1]] / °, i, 1, Length[vértices])
ángulosConSigno = Sequence(If[Element[ángulos, i] > 180, Element[ángulos, i] - 360, Element[ángulos, i]], i, 1, Length[ángulos])
sumaÁngulos = Sum(ángulosConSigno)
máximoÁngulos = Max(ángulosConSigno)
lados = Sequence(Segment[Element[caminoCerrado, s], Element[caminoCerrado, s + 1]], s, 1, Length[vértices])
cortes = RemoveUndefined(Join[Sequence[Sequence[Intersect[Element[lados, s], Element[lados, s + t]], s, 1, Length[lados]], t, 1, Length[lados]]])
númeroCortes = Length(cortes)
orden = Div(sumaÁngulos, 360)
text3: "Punto interior 
con orden de homotopía 
del camino poligonal
igual a " + orden