X(29)      CEVAPOINT OF X(1) AND X(4)

X(29), labeled 29, is constructed 
here as the point of intersection of 
lines X(2)X(3) and X(33)X(78).

Sketch contributed by Michael Stairs,
August 2018.

Drag A, B, C.

2

3

P_1 = (7.096435139141428, 6.116699767626125)
P_2 = (2.3151179581944414, 5.240229518373814)
P_3 = (10.295579407573461, 5.148030702394254)
A = (10.100858030519923, 7.809466443498331)
B = (6.2970597746759385, 3.4447308104542382)
C = (11.639697708220371, 3.3759042065725193)
f = Segment(B, A)
g = Segment(A, C)
h = Segment(C, B)
P = (7.359824056239101, 8.506107702613324)
l = Line(A, P)
I = Point(l)
m = Line(B, P)
K = Point(m)
n = Line(C, P)
M = Point(n)
D = Tool2(A, B, C)
E = Tool4(A, B, C)
i = Line(E, D)

Tool: X(1) (command Tool1)
Incenter[ <Point>, <Point>, <Point> ]
Input: A, B, C
Output: Incenter

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
i, j = AngularBisector(f, g)
k, l = AngularBisector(h, g)
Incenter = Intersect(j, l)

Tool: X(2) (command Tool2)
Input: A, B, C
Output: X2

D = Midpoint(A, B)
F = Midpoint(A, C)
i = Line(F, B)
j = Line(D, C)
X2 = Intersect(i, j)

Tool: X(4) (command Tool3)
Input: A, B, C
Output: X4

f = Line(A, B)
g = Line(B, C)
i = OrthogonalLine(A, g)
j = OrthogonalLine(C, f)
X4 = Intersect(i, j)

Tool: X(3) (command Tool4)
Input: A, B, C
Output: D

i = LineBisector(B, C)
j = LineBisector(A, C)
D = Intersect(i, j)

Tool: X(5) (command Tool5)
Input: A, B, C
Output: L

J = Tool3(A, B, C)
K = Tool4(A, C, B)
L = Midpoint(K, J)

Tool: X(6) (command Tool6)
Input: A, B, C
Output: G

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
F = Midpoint(A, B)
E = Midpoint(A, C)
n, p = AngularBisector(h, g)
q, r = AngularBisector(f, g)
F' = Mirror(F, p)
C' = Mirror(C, p)
k' = Segment(F', C')
E' = Mirror(E, r)
B' = Mirror(B, r)
j' = Segment(E', B')
G = Intersect(k', j')

Tool: X(7) (command Tool7)
Input: A, B, C
Output: K

g = Line(B, C)
h = Line(C, A)
G = Tool1(A, B, C)
i = OrthogonalLine(G, g)
H = Intersect(g, i)
c = Circle(G, H)
J = Intersect(c, h, 1)
j = Line(B, J)
k = Line(A, H)
K = Intersect(j, k)

Tool: X(8) (command Tool8)
Input: A, B, C
Output: J

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
i, j = AngularBisector(f, g)
k, l = AngularBisector(g, h)
m, n = AngularBisector(h, f)
D = Intersect(i, l)
E = Intersect(j, m)
q = OrthogonalLine(D, f)
r = OrthogonalLine(E, h)
H = Intersect(f, q)
I = Intersect(h, r)
s = Line(B, I)
t = Line(C, H)
J = Intersect(s, t)

Tool: X(9) (command Tool9)
Input: A, B, C
Output: G

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
i, j = AngularBisector(f, g)
k, l = AngularBisector(g, h)
D = Intersect(i, l)
E = Intersect(i, k)
F = Intersect(j, k)
G = Tool6(D, E, F)

Tool: X(10) (command Tool10)
Input: A, B, C
Output: G

D = Midpoint(B, C)
E = Midpoint(A, C)
F = Midpoint(B, A)
G = Tool1(F, D, E)

Tool: X(11) (command Tool11)
Input: A, B, C
Output: L

g = Line(B, C)
G = Tool1(B, C, A)
i = OrthogonalLine(G, g)
H = Intersect(g, i)
c = Circle(G, H)
I = Tool5(A, C, B)
j = OrthogonalLine(A, g)
J = Intersect(g, j)
d = Circle(I, J)
L = Intersect(c, d, 1)

Tool: X(56) (command Tool56)
Input: A, B, C
Output: H

8

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
G = Tool8(A, B, C)
k, l = AngularBisector(h, g)
m, n = AngularBisector(f, h)
p = Line(A, G)
q = Line(C, G)
p' = Mirror(p, n)
q' = Mirror(q, l)
H = Intersect(p', q')

Tool: X(12) (command Tool12)
Input: A, B, C
Output: K

1

2

5

56

12

G = Tool1(A, B, C)
H = Tool2(A, B, C)
I = Tool5(A, B, C)
J = Tool56(A, B, C)
i = Line(G, I)
j = Line(H, J)
K = Intersect(i, j)

Tool: X(13) (command Tool13)
Input: A, B, C
Output: J

13

c = Circle(B, A)
d = Circle(A, B)
G = Intersect(c, d, 1)
p = Circle(B, C)
q = Circle(C, B)
I = Intersect(p, q, 2)
s = Segment(G, C)
t = Segment(I, A)
J = Intersect(s, t)

Tool: X(14) (command Tool14)
Input: A, B, C
Output: J

14

t = Circle(B, A)
c_1 = Circle(A, B)
H = Intersect(t, c_1, 2)
d_1 = Circle(C, B)
e_1 = Circle(B, C)
I = Intersect(d_1, e_1, 2)
i = Line(A, I)
j = Line(C, H)
J = Intersect(i, j)

Tool: X(15) (command Tool15)
Input: A, B, C
Output: H

13

15

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
G = Tool13(A, B, C)
i = Line(B, G)
j = Line(C, G)
a, b = AngularBisector(h, g)
f_1, g_1 = AngularBisector(g, f)
j' = Mirror(j, b)
i' = Mirror(i, g_1)
H = Intersect(j', i')

Tool: X(16) (command Tool16)
Input: A, B, C
Output: H

14

16

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
i, j = AngularBisector(f, g)
l, m = AngularBisector(h, g)
G = Tool14(A, B, C)
b = Line(B, G)
f_1 = Line(C, G)
h_1 = Mirror(f_1, m)
b' = Mirror(b, j)
H = Intersect(h_1, b')

Tool: X(17) (command Tool17)
Input: A, B, C
Output: M

17

h_1 = Circle(A, B)
k_1 = Circle(B, A)
p_1 = Circle(B, C)
q_1 = Circle(C, B)
G = Intersect(p_1, q_1, 2)
H = Intersect(h_1, k_1, 2)
K = Tool2(G, C, B)
L = Tool2(H, B, A)
m = Line(K, A)
n = Line(C, L)
M = Intersect(m, n)

Tool: X(18) (command Tool18)
Input: A, B, C
Output: M

18

r_1 = Circle(A, C)
s_1 = Circle(C, A)
G = Intersect(r_1, s_1, 2)
e_2 = Circle(B, C)
f_2 = Circle(C, B)
I = Intersect(e_2, f_2, 1)
J = Tool2(A, C, G)
L = Tool2(B, I, C)
m = Line(A, L)
n = Line(B, J)
M = Intersect(m, n)

Tool: X(75) (command Tool75)
Input: A, B, C
Output: K

75

f = Line(A, B)
g = Line(B, C)
D = Midpoint(B, C)
F = Midpoint(B, A)
G = Tool1(A, B, C)
j = Line(A, G)
l = Line(C, G)
H = Intersect(f, l)
I = Intersect(g, j)
H' = Mirror(H, F)
m = Line(H', C)
I' = Mirror(I, D)
n = Line(A, I')
K = Intersect(m, n)

Tool: X(31) (command Tool31)
Input: A, B, C
Output: H

75

31

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
G = Tool75(A, B, C)
j = Line(B, G)
l = Line(A, G)
m, n = AngularBisector(f, h)
a, b = AngularBisector(f, g)
l' = Mirror(l, n)
j' = Mirror(j, b)
H = Intersect(l', j')

Tool: X(19) (command Tool19)
Input: A, B, C
Output: L

31

19

f = Line(A, B)
g = Line(B, C)
h = Line(C, A)
D = Tool1(A, B, C)
i = Line(B, D)
j = Line(A, D)
l = Line(C, D)
E = Intersect(f, l)
F = Intersect(h, i)
G = Intersect(g, j)
H = Tool31(A, B, C)
b = Line(E, F)
j_1 = Line(F, G)
l_1 = Line(H, G)
n_1 = Line(E, H)
I = Intersect(b, l_1)
J = Intersect(j_1, n_1)
a_1 = Line(I, A)
b_1 = Line(C, J)
L = Intersect(a_1, b_1)

Tool: X(20) (command Tool20)
Input: A, B, C
Output: E'

20

D = Tool4(A, B, C)
E = Tool3(A, B, C)
E' = Mirror(E, D)

Tool: X(21) (command Tool21)
Input: A, B, C
Output: M

21

D = Tool1(A, B, C)
E = Tool2(A, D, C)
G = Tool2(B, D, A)
H = Tool4(A, B, D)
I = Tool4(A, D, C)
i = Line(G, H)
j = Line(E, I)
M = Intersect(i, j)

Tool: X(22) (command Tool22)
Input: A, B, C
Output: N

22

D = Tool4(A, B, C)
c_2 = Circle(D, C)
H = Midpoint(A, C)
J = Midpoint(B, A)
m = Line(B, H)
n = Line(C, J)
F = Intersect(c_2, n, 2)
G = Intersect(c_2, m, 2)
b = Tangent(C, c_2)
i_1 = Tangent(A, c_2)
j_1 = Tangent(B, c_2)
K = Intersect(b, i_1)
l_1 = Line(G, K)
L = Intersect(i_1, j_1)
m_1 = Line(F, L)
N = Intersect(l_1, m_1)

Tool: X(23) (command Tool23)
Input: A, B, C
Output: D'

2

3

23

D = Tool2(A, B, C)
E = Tool4(A, B, C)
c_2 = Circle(E, C)
D' = Mirror(D, c_2)

Tool: X(24) (command Tool24)
Input: A, B, C
Output: M

24

f = Line(A, B)
g = Line(B, C)
h = Line(A, C)
i = OrthogonalLine(A, g)
j = OrthogonalLine(B, h)
l = OrthogonalLine(C, f)
D = Intersect(f, l)
E = Intersect(h, j)
F = Intersect(g, i)
t1, f_3, d_3, e_3 = Polygon(D, E, F)
i_1 = OrthogonalLine(E, e_3)
j_1 = OrthogonalLine(F, f_3)
G = Intersect(j_1, f_3)
K = Intersect(i_1, e_3)
m_1 = Line(G, A)
n_1 = Line(K, B)
M = Intersect(m_1, n_1)

Tool: X(25) (command Tool25)
Input: A, B, C
Output: N

25

g = Line(B, C)
h = Line(A, C)
D = Tool4(A, B, C)
c_2 = Circle(D, A)
b = OrthogonalLine(A, g)
i_1 = OrthogonalLine(B, h)
F = Intersect(h, i_1)
G = Intersect(g, b)
l_1 = Tangent(C, c_2)
m_1 = Tangent(A, c_2)
n_1 = Tangent(B, c_2)
K = Intersect(l_1, m_1)
a_1 = Line(K, F)
L = Intersect(l_1, n_1)
b_1 = Line(L, G)
N = Intersect(a_1, b_1)

Tool: X(26) (command Tool26)
Input: A, B, C
Output: K

26

D = Tool4(A, B, C)
c_2 = Circle(D, C)
l_1 = Tangent(A, c_2)
m_1 = Tangent(C, c_2)
n_1 = Tangent(B, c_2)
E = Intersect(l_1, n_1)
F = Intersect(l_1, m_1)
G = Intersect(m_1, n_1)
K = Tool4(E, F, G)

Tool: X(81) (command Tool81)
Input: A, B, C
Output: K

1

21

2

6

81

D = Tool1(A, B, C)
E = Tool21(A, B, C)
F = Tool2(A, B, C)
G = Tool6(A, B, C)
l_1 = Line(E, D)
m_1 = Line(G, F)
K = Intersect(l_1, m_1)

Tool: X(27) (command Tool27)
Input: A, B, C
Output: K

2

3

7

81

27

D = Tool2(A, B, C)
E = Tool4(A, B, C)
F = Tool7(A, B, C)
G = Tool81(A, B, C)
l_1 = Line(E, D)
m_1 = Line(F, G)
K = Intersect(l_1, m_1)

Tool: X(28) (command Tool28)
Input: A, B, C
Output: K

1

2

3

19

28

D = Tool1(A, B, C)
E = Tool2(A, B, C)
F = Tool4(A, B, C)
G = Tool19(A, B, C)
l_1 = Line(E, F)
m_1 = Line(G, D)
K = Intersect(l_1, m_1)

Tool: Crosspoint
Input: A, B, C, P, Q
Output: X

f = Segment(B, A)
g = Segment(A, C)
h = Segment(C, B)
i = Line(B, P)
j = Line(A, P)
k = Line(C, P)
m = Line(A, Q)
n = Line(C, Q)
C' = Intersect(k, f)
B' = Intersect(i, g)
A' = Intersect(j, h)
p = Segment(C', B')
q = Segment(B', A')
D = Intersect(m, p)
F = Intersect(n, q)
b = Segment(C', F)
g_1 = Segment(D, A')
X = Intersect(b, g_1)

Tool: HarmConj
Constructs harmonic conjugate of C (located on line AB) wrt A and B. Needs two arbitrary points P and Q that are not on AB to calculate.
Input: A, B, C, P, Q
Output: F

f = Line(A, B)
g = Line(A, P)
h = Line(P, C)
i = Line(P, B)
j = Line(Q, B)
R = Intersect(h, j)
k = Line(A, R)
S = Intersect(i, k)
l = Line(Q, S)
F = Intersect(f, l)