BF*CF

DF*EF

Drag points C, D, or E to manipulate the chords.  Drag point B to resize the circle.

A = (-0.3260241587405932, 0.14212525858859124)
B = (2.9580427515715875, -5.682446242719817)
c = Circle(A, B)
C = Point(c)
a = Segment(B, C)
D = Point(c)
E = Point(c)
b = Segment(D, E)
F = Intersect(b, a)
distanceCF = Distance(C, F)
TextCF: "\overline{" + (Name[C]) + (Name[F]) + "} \, = \, " + distanceCF
distanceDF = Distance(D, F)
TextDF: "\overline{" + (Name[D]) + (Name[F]) + "} \, = \, " + distanceDF
distanceBF = Distance(B, F)
TextBF: "\overline{" + (Name[B]) + (Name[F]) + "} \, = \, " + distanceBF
BF = Distance(B, F)
FE = Distance(F, E)
distanceEF = Distance(E, F)
TextEF: "\overline{" + (Name[E]) + (Name[F]) + "} \, = \, " + distanceEF
EF = Distance(E, F)
DF = Distance(D, F)
CF = Distance(C, F)
B1: (distanceDF * distanceEF)
prod1: (distanceDF * distanceEF)
prod2: (distanceCF * distanceBF)
B2: (BF * CF)

Tool: Medians
Three Points
Input: A, B, C
Output: d, e, f, poly1

poly1, c, a, b = Polygon(A, B, C)
D = Midpoint(c)
E = Midpoint(b)
F = Midpoint(a)
d = Segment(A, F)
e = Segment(D, C)
f = Segment(E, B)

Tool: Orthocenter
Input: A, B, C
Output: E

e = Line(C, B)
f = Line(B, A)
g = OrthogonalLine(A, e)
h = OrthogonalLine(C, f)
E = Intersect(g, h)

Tool: Circumcenter
Input: A, B, C
Output: F

j = LineBisector(A, C)
k = LineBisector(C, B)
F = Intersect(j, k)

Tool: Centroid
Input: A, B, C
Output: G

poly1, c, a, b = Polygon(A, B, C)
E = Midpoint(b)
F = Midpoint(a)
d = Segment(A, F)
e = Segment(E, B)
G = Intersect(d, e)

Tool: Square
Select Two Points
Input: A, B
Output: poly1, a, b, c, d, C, D

poly1, a, b, c, d, C, D = Polygon(A, B, 4)

Tool: Vecten Configuration (command VectenConfiguration)
Select Three Points
Input: A, B, C
Output: E, F, G, H, I, poly2, poly3, poly4, a, b, c, d, e, f, g, h, i, j, k, l, m, n, p, poly1

poly1, c, a, b = Polygon(A, B, C)
poly2, d, e, f, g, D, E = Square(A, C)
poly3, h, i, j, k, F, G = Square(C, B)
poly4, l, m, n, p, H, I = Square(B, A)

Tool: Excircle
Select Three Points
Input: A, B, C
Output: k, d, e, poly1, a, b, c

poly1, c, a, b = Polygon(A, B, C)
d = Ray(B, A)
e = Ray(B, C)
D = Point(d)
f = AngularBisector(A, B, C)
g = AngularBisector(D, A, C)
F = Intersect(f, g)
i = OrthogonalLine(F, d)
G = Intersect(i, d)
k = Circle(F, G)

Tool: Inverse
Input: O, B, P
Output: P'

c = Circle(O, B)
a = Ray(O, P)
b = OrthogonalLine(P, a)
T = Intersect(c, b, 2)
U = Intersect(c, b, 1)
OT = Segment(O, T)
e = Segment(O, U)
f = OrthogonalLine(T, OT)
g = OrthogonalLine(U, e)
P' = Intersect(f, g)

Tool: Altitude
Select three points
Input: B, A, C
Output: g, D

e = Line(C, B)
g = OrthogonalLine(A, e)
D = Intersect(e, g)

Tool: InCenter
Select three points
Input: A, B, C
Output: D

d = AngularBisector(B, A, C)
e = AngularBisector(A, C, B)
D = Intersect(d, e)

Tool: InCircle
Select Three Points
Input: A, B, C
Output: g

poly1, c, a, b = Polygon(A, B, C)
D = InCenter(A, B, C)
d = OrthogonalLine(D, b)
F = Intersect(d, b)
g = Circle(D, F)

Tool: Orthic Triangle (command OrthicTriangle)
Select Three Points
Input: A, B, C
Output: B', A', C', poly2

d, A' = Altitude(B, A, C)
e, C' = Altitude(A, C, B)
f, B' = Altitude(C, B, A)
poly2, a', c', b' = Polygon(C', B', A')

Tool: Cevian
Three vertices and an interior point
Input: A, B, C, P
Output: poly2, L, N, M

d_2 = Line(A, C)
e = Line(C, B)
f = Line(A, B)
g = Line(A, P)
h = Line(C, P)
i = Line(B, P)
L = Intersect(e, g)
N = Intersect(f, h)
M = Intersect(d_2, i)
poly2, d_1, e_1, f_1 = Polygon(N, M, L)

Tool: Outside Inverse (command OutsideInverse)
Input: O, B, P
Output: P'

c = Circle(O, B)
M = Midpoint(O, P)
d = Circle(M, P)
T = Intersect(c, d, 1)
a = Segment(O, P)
b = OrthogonalLine(T, a)
P' = Intersect(b, a)

Tool: Orthogonal Circle (command OrthogonalCircle)
Center, Point on circle, Point, Point
Input: O, B_1, A, B
Output: d, c

c = Circle(O, B_1)
A' = Inverse(O, B_1, A)
C = Circumcenter(A, B, A')
d = Circle(C, A)

Tool: Orthogonal Tangent Circle (command OrthogonalTangentCircle)
Center O, Point on c, Point, Point
Input: A, B, P, D
Output: d

c = Circle(A, B)
t = Line(P, D)
l = OrthogonalLine(P, t)
P' = Mirror(P, c)
Q = Mirror(P', l)
C = Circumcenter(Q, P, P')
d = Circle(C, P')

Tool: Cross Ratio (command CrossRatio)
Point, Point, Point, Point
Input: A, B, P, Q
Output: text1

distanceBQ = Distance(B, Q)
distanceAQ = Distance(A, Q)
distanceBP = Distance(B, P)
distanceAP = Distance(A, P)
crossratio: ((distanceAP * distanceBQ)) / ((distanceAQ * distanceBP))
text1: "Cross Ratio = " + (LaTeX[crossratio]) + ""