A = (3.72603897644938, -4.319778970318705)
B = (16.7975432396152, -4.257065908356905)
C = (11.218015385969426, 4.3784623987904)
polígono1, c, a, b = Polygon(A, B, C)
X_{11} = TriangleCenter(A, B, C, 11)
X_4 = TriangleCenter(A, B, C, 4)
X_1 = TriangleCenter(A, B, C, 1)
D = Proyeccion(X_4, a)
E = Proyeccion(X_4, b)
F = Proyeccion(X_4, c)
M_a = Midpoint(a)
g = Segment(E, F)
X_3 = TriangleCenter(A, B, C, 3)
l = Line(A, B)
J = Intersect(l, c)
r = Line(A, C)
X_{68} = TriangleCenter(A, B, C, 68)
polígono2, f_1, d_1, e_1 = Polygon(D, E, F)
Γ_{ab} = Circle(E, Segment[F, B])
Γ_{ac} = Circle(F, Segment[E, C])
G, H = Intersect(Γ_{ac}, l)
I, K = Intersect(Γ_{ab}, r)
e = EjeRadical(F, H, E, K)
h = ejeA(B, C, A)
i = ejeA(C, A, B)

Tool: TrianguloETC
Dar el vértice A
Input: A_{etc}
Output: B_{etc}, C_{etc}, a, polígono1

c = Circle(A_{etc}, 13)
B_{etc} = Point(c)
d = Circle(A_{etc}, 9)
e = Circle(B_{etc}, 6)
C_{etc} = Intersect(d, e, 1)
polígono1, c_{etc}, a_{etc}, b_{etc} = Polygon(A_{etc}, B_{etc}, C_{etc})
a = Line(B_{etc}, C_{etc})

Tool: Coordenadas Trilineales (command CoordenadasTrilineales)
Dar los vértices de ABC y un  punto P
Input: A, B, C, P
Output: texto2, CoordTrilineales

q_1 = Segment(B, P)
e = Line(A, C)
E_1 = Intersect(e, q_1)
d = Line(C, B)
p_1 = Segment(A, P)
D_1 = Intersect(d, p_1)
ABC, c, a, b = Polygon(A, B, C)
e_1 = OrthogonalLine(P, a)
D = Intersect(e_1, d)
p = Segment(P, D)
α = If(Defined[D_1], -p, p)
f_1 = OrthogonalLine(P, b)
g = OrthogonalLine(P, c)
f = Line(A, B)
E = Intersect(f_1, e)
F = Intersect(g, f)
r_1 = Segment(P, C)
q = Segment(P, E)
r = Segment(P, F)
F_1 = Intersect(f, r_1)
β = If(Defined[E_1], -q, q)
γ = If(Defined[F_1], -r, r)
CoordTrilineales: {α, β, γ}
texto2: "" + CoordTrilineales + ""

Tool: Coordenadas Baricentrias (command CoordenadasBaricentrias)
Dar los vértices ABC y un punto P
Input: A, B, C, P
Output: texto2, CoordBaricentricas

q_1 = Segment(B, P)
APB, b_2, a_2, p_4 = Polygon(A, P, B)
e = Line(A, C)
E_1 = Intersect(e, q_1)
CPA, a_1, c_2, p_3 = Polygon(C, P, A)
BPC, c_1, b_1, p_2 = Polygon(B, P, C)
d = Line(C, B)
p_1 = Segment(A, P)
D_1 = Intersect(d, p_1)
f = Line(A, B)
r_1 = Segment(P, C)
F_1 = Intersect(f, r_1)
xx = If(Defined[D_1], -BPC, BPC)
yy = If(Defined[E_1], -CPA, CPA)
zz = If(Defined[F_1], -APB, APB)
CoordBaricentricas: {xx, yy, zz}
texto2: "" + CoordBaricentricas + ""

Tool: Proyeccion
Dar P y r,  da la proyección ortogonal de P en r.
Input: A, a
Output: D

b = OrthogonalLine(A, a)
D = Intersect(a, b)

Tool: Triangulo Ceviano (command TrianguloCeviano)
Dar ABC y P
Input: A, B, C, P
Output: polígono2, A', B', C'

d = Line(B, C)
e = Line(C, A)
f = Line(A, B)
g = Line(A, P)
h = Line(B, P)
i = Line(C, P)
A' = Intersect(d, g)
B' = Intersect(e, h)
C' = Intersect(f, i)
polígono2, f_1, d_1, e_1 = Polygon(A', B', C')

Tool: rectaEuler
Dar los vértices de un triángulo
Input: D, E, F
Output: m

G = TriangleCenter(D, E, F, 4)
H = TriangleCenter(D, E, F, 3)
m = Line(H, G)

Tool: puntoRazon
Punto X que divide al segmento de extremos P y Q, según una razón  dada, PX : XQ = m : n
Input: P, Q, m, n
Output: X

X = Dilate(Q, m / (m + n), P)

Tool: razonPunto
razonPunto[P,Q,X]: razón en la que divide el punto X al segmento PQ,  PX:XQ = r
Input: K, L, M
Output: ρ

c = Line(K, L)
d = If(Distance[M, Line[K, L]] ≟ 0, Distance[K, M] / Distance[L, M])
ρ = If(IsInRegion[M, Polygon[K, L]], d, -d)

Tool: Tripolar
Dar los vértices de un triángulo y un punto
Input: A, B, C, P
Output: l

d = Line(B, C)
e = Line(C, A)
f = Line(A, B)
g = Line(P, A)
h = Line(P, B)
i = Line(P, C)
E = Intersect(h, e)
F = Intersect(d, g)
j = Line(E, F)
G = Intersect(f, i)
k = Line(G, F)
H = Intersect(e, k)
I = Intersect(j, f)
l = Line(H, I)

Tool: Tripolo
Dados tres puntos y una recta, determina el tripolo de la recta respecto al triángulo de vértices los tres puntos.
Input: A, B, C, m
Output: U

n = Line(A, C)
p = Line(C, B)
K = Intersect(n, m)
N = Intersect(m, p)
A_1 = Midpoint(C, B)
c_1 = Circle(A_1, B)
a_1 = Polar(N, c_1)
R = Intersect(a_1, p)
r = Line(A, R)
S = Midpoint(A, C)
s = Circle(S, A)
t = Polar(K, s)
T = Intersect(n, t)
b_1 = Line(T, B)
U = Intersect(r, b_1)

Tool: Triangulo Circunceviano (command TrianguloCircunceviano)
Dar ABC y P
Input: L, M, N, P
Output: polígono1, L', M', N'

X3 = TriangleCenter(L, M, N, 3)
e = Line(P, L)
f = OrthogonalLine(X3, e)
L' = Mirror(L, f)
g = Line(P, M)
h = OrthogonalLine(X3, g)
M' = Mirror(M, h)
i = Line(P, N)
j = OrthogonalLine(X3, i)
N' = Mirror(N, j)
polígono1, n', l', m' = Polygon(L', M', N')

Tool: cociente ceviano (command cocienteceviano)
Dar ABC y dos puntos P/Q
Input: A, B, C, P, Q
Output: P_Q

d = Line(A, B)
e = Line(B, C)
f = Line(A, C)
g = Line(Q, C)
h = Line(Q, B)
i = Line(Q, A)
D = Intersect(i, e)
E = Intersect(h, f)
F = Intersect(g, d)
j = Line(E, D)
l = Line(F, E)
n = Line(F, D)
I = Intersect(f, n)
p = Line(I, B)
G = Intersect(d, j)
k = Line(C, G)
H = Intersect(e, l)
m = Line(A, H)
J = Intersect(k, p)
K = Intersect(k, m)
q = Line(P, A)
r = Line(B, P)
N = Intersect(f, r)
O = Intersect(q, e)
t = Line(O, J)
a_1 = Line(N, K)
P_Q = Intersect(a_1, t)

Tool: Conica circunscrita (command Conicacircunscrita)
Drar ABC y el perspector P
Input: A, B, C, P
Output: d

G = Barycenter({A, B, C}, {1, 1, 1})
D = cocienteceviano(A, B, C, G, P)
B' = Mirror(B, D)
C' = Mirror(C, D)
d = Conic(A, B, C, B', C')

Tool: Afinidad
Dado ABC, A'B'C' y X, determiana el punto fijo propio y la imagen de X
Input: A, B, C, A', B', C', X
Output: F, X'

polígono1, c, a, b = Polygon(A, B, C)
polígono2, f, d, e = Polygon(A', B', C')
g = Line(A, a)
h = Line(C, c)
i = Line(A', d)
j = Line(C', f)
k = Line(A, B)
l = Line(A', B')
L = Intersect(k, l)
m = Line(B, C)
n = Line(B', C')
M = Intersect(m, n)
N = Intersect(j, h)
P = Intersect(g, i)
p = Line(L, N)
q = Line(M, P)
F = Intersect(p, q)
r = Line(X, c)
U = Intersect(p, r)
s = Line(X, g)
V = Intersect(q, s)
t = Line(U, f)
a_1 = Line(V, i)
X' = Intersect(a_1, t)

Tool: RecortarRecta
Dar la recta AB y un número
Input: A, B, k
Output: d

a = Line(A, B)
u = UnitVector(a)
v: -k * u
A' = Translate(A, v)
z: k * u
B' = Translate(B, z)
d = Segment(A', B')

Tool: EjeRadical
Dar centro, punto y centro, punto
Input: A, B, C, D
Output: i

e = Circle(B, D, A)
E = Center(e)
a = Segment(A, E)
b = Segment(E, C)
B' = Mirror(B, a)
D' = Mirror(D, b)
f = Segment(A, C)
g = Line(B, B')
h = Line(D', D)
F = Intersect(g, h)
i = OrthogonalLine(F, f)

Tool: ejeA
Dar ABC
Input: A, B, C
Output: e

polígono1, c, a, b = Polygon(A, B, C)
X_4 = TriangleCenter(A, B, C, 4)
E = Proyeccion(X_4, b)
F = Proyeccion(X_4, c)
l = Line(A, B)
r = Line(A, C)
d = Circle(E, Segment[F, B])
f = Circle(F, Segment[E, C])
G, H = Intersect(f, l)
I, K = Intersect(d, r)
e = EjeRadical(F, H, E, K)