ABC è un triangolo isoscele. 
Le lunule di Ippocrate sono la differenza fra i semicerchi piccoli e il semicerchio grande. 
La loro area è pari a quella del triangolo. 

A = (0.45442265963910905, 0.4820400677658405)
B = (1.3467510464150128, 0.4792251517192289)
a = Segment(A, B)
b = LineBisector(a)
D = Point(b)
c = CircleSector(D, B, A)
C = Intersect(c, b, 1)
poly1, a_1, c_1, b_1 = Polygon(C, B, A)
E = Midpoint(b_1)
F = Midpoint(a_1)
d = CircleSector(E, C, A)
e = CircleSector(F, B, C)
areae = Area(e)
aread = Area(d)
Testod: "Area semicerchio di centro E = " + aread
areac = Area(c)
Testoc: "Area semicerchio di centro D = " + areac
Testopoly1: "Area " + (Name[C]) + (Name[B]) + (Name[A]) + " = " + poly1
l: 2 aread - (areac - poly1)
text1: "Area lunule = " + l

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)