A = (-1.86, 5.1)
B = (-3.46, 2.88)
f = Segment(A, B)
C = (0.48, 2.98)
g = Segment(B, C)
h = Segment(C, A)
E = (-1.9816862080911621, 4.152109330251142)
D = (-1.148699389543647, 3.956112431769374)
i = Segment(E, D)
F = (-1.5896924111276256, 3.351788661450584)
j = Segment(D, F)
k = Segment(F, E)
l = Line(E, F)
X = Intersect(l, g)
m = Line(E, D)
n = Line(F, D)
Z = Intersect(m, f)
Y = Intersect(n, h)
a: Area[D, E, F] / Area[A, B, C]
K = Roots(sin(Angle[C, X, E] - x) / sin(x) - (Distance[B, C] / Distance[E, F] * a), 0, π)
p = Rotate(Line[B, C], x(K), X)
G = Roots(sin(Angle[A, Y, F] - x) / sin(x) - (Distance[C, A] / Distance[F, D] * a), 0, π)
q = Rotate(Line[A, C], x(G), Y)
H = Roots(sin(Angle[B, Z, D] - x) / sin(x) - (Distance[A, B] / Distance[D, E] * a), 0, π)
r = Rotate(Line[A, B], x(H), Z)