Triangolo di Napoleone

I baricentri dei triangoli equilateri,
costruiti esternamente sui lati
di un triangolo qualsiasi, formano
un triangolo equilatero.

Sposta i vertici del triangolo ABC
e verifica l'enunciato del teorema del
triangolo di Napoleone:

A = (-3.06, 0.42)
B = (-0.62, 3.28)
C = (4.0899902439024425, 1.9898048780487836)
t1, c, a, b = Polygon(A, B, C)
poli1, f, g, h, D = Polygon(A, B, 3)
poli2, i, j, k, E = Polygon(B, C, 3)
poli3, l, m, n, F = Polygon(C, A, 3)
G = Midpoint(A, B)
H = Midpoint(B, D)
I = Midpoint(D, A)
p = Line(A, H)
q = Line(B, I)
r = Line(D, G)
J = Intersect(p, q)
K = Midpoint(B, C)
L = Midpoint(C, E)
M = Midpoint(E, B)
s = Line(E, K)
t = Line(B, L)
d = Line(C, M)
N = Intersect(s, t)
O = Midpoint(A, C)
P = Midpoint(C, F)
Q = Midpoint(F, A)
e = Line(C, Q)
f_1 = Line(F, O)
g_1 = Line(A, P)
R = Intersect(e, f_1)
t2, n_1, j_1, r_1 = Polygon(J, R, N)
o = Length(j_1)
u = Length(n_1)
v = Length(r_1)
w = true
distanzaJR = Distance(J, R)
TestoJR: Name[J] + (Name[R]) + " = " + distanzaJR
distanzaJN = Distance(J, N)
TestoJN: Name[J] + (Name[N]) + " = " + distanzaJN
distanzaNR = Distance(N, R)
TestoNR: Name[N] + (Name[R]) + " = " + distanzaNR