In un quadrilatero ciclico le perpendicolari 
condotte dai punti medi dei lati ai lati opposti 
si incontrano in un punto. Il triangolo che ha 
per vertici il punto d'incontro delle diagonali e 
i punti medi delle stesse diagonali ha per 
ortocentro il precedente punto. Dati gli incerchi 
dei quattro triangoli formati da due lati consecutivi 
e da una delle due diagonali. Allora i  centri di tali 
circonferenze sono vertici di un rettangolo

Mostra triangolo

Mostra perpendicolari

Mostra rettangolo

O = (-4.07407773027608, -2.1862234306550925)
B = (-4.10838403849392, -0.8479527646786107)
c = Circle(O, B)
C = Point(c)
D = Point(c)
A = Point(c)
poly1, a, b, c_1, d = Polygon(A, B, C, D)
E = Midpoint(b)
F = Midpoint(a)
G = Midpoint(d)
H = Midpoint(c_1)
e = OrthogonalLine(E, d)
f = OrthogonalLine(G, b)
g = OrthogonalLine(F, c_1)
h = OrthogonalLine(H, a)
I = Intersect(e, d)
α = Angle(A, I, E)
K = Intersect(g, c_1)
β = Angle(F, K, C)
L = Intersect(f, b)
γ = Angle(C, L, G)
J = Intersect(h, a)
δ = Angle(B, J, H)
i = Segment(E, I)
j = Segment(G, L)
k = Segment(K, F)
l = Segment(J, H)
M = Intersect(j, l)
m = Segment(C, A)
n = Segment(B, D)
N = Intersect(n, m)
P = Midpoint(n)
Q = Midpoint(m)
poly2, p, n_1, q = Polygon(N, Q, P)
o = false
r = false
s, R = Circonferenzainscrita(D, A, C)
t, S = Circonferenzainscrita(D, A, B)
d_1, T = Circonferenzainscrita(A, B, C)
e_1, U = Circonferenzainscrita(B, C, D)
poly3, u, t_1, s_1, r_1 = Polygon(U, T, S, R)
ε = Angle(R, U, T)
ζ = Angle(U, T, S)
v = false

Tool: Circocerchio
Clicca sul triangolo
Input: poly1
Output: p, T

A = (-1.9867180309718853, 3.399206189848298)
B = (-3.080683477006394, 1.9442321466224008)
C = (-0.6192612234287485, 1.9004735287810202)
poly1, c, a, b = Polygon(A, B, C)
j = LineBisector(a)
l = LineBisector(c)
T = Intersect(j, l)
p = Circle(T, B)

Tool: Circonferenza inscrita (command Circonferenzainscrita)
Clicca sui vertici del triangolo
Input: N, P, Q
Output: c_1, R

poly2, q_1, n_1, p_1 = Polygon(N, P, Q)
r = AngularBisector(N, Q, P)
s = AngularBisector(P, N, Q)
R = Intersect(r, s)
t = OrthogonalLine(R, p_1)
S = Intersect(t, p_1)
c_1 = Circle(R, S)

Tool: Ortocentro
Clicca sui vertici del triangolo
Input: E_1, F_1, G_1
Output: H_1

j_1 = Line(F_1, G_1)
l_1 = Line(G_1, E_1)
m_1 = OrthogonalLine(F_1, l_1)
n_1 = OrthogonalLine(E_1, j_1)
H_1 = Intersect(m_1, n_1)

Tool: Excerchi
Clicca su 3 rette che determinano un triangolo
Input: b, c, a
Output: p, E, D, F, q, r

d, e = AngularBisector(a, c)
f, g = AngularBisector(b, c)
h, i = AngularBisector(a, b)
D = Intersect(h, d)
E = Intersect(d, f)
F = Intersect(f, h)
j = OrthogonalLine(D, a)
k = OrthogonalLine(E, c)
l = OrthogonalLine(F, b)
G = Intersect(b, l)
H = Intersect(k, c)
I = Intersect(j, a)
p = Circle(E, H)
q = Circle(F, G)
r = Circle(D, I)

Tool: Tr. Equil. su lato (command Treqlato)
Clicca sugli estremi in verso orario
Input: A, C
Output: poly2, a_1, c_1, D, d_1

d = Circle(C, A)
e = Circle(A, C)
D = Intersect(d, e, 2)
poly2, c_1, a_1, d_1 = Polygon(A, D, C)