I = (8.538484216779644, -2.1378671691850317)
A = (-4.9699494717224635, -4.391797940565376)
B = (6.405441701496928, -4.387245004408758)
a, b, c, d, C, D, E, F, G, H = carré_milieu(A, B)
J = (15.546215436181798, -2.1378671691850317)
DH = Distance(D, H)
distanceDC = Distance(D, C)
TexteDC: Name[D] + (Name[C]) + " = " + distanceDC
DC = Distance(D, C)
n: DC / (2 + (2 * sqrt(2)))
e = Circle(D, n)
K = Intersect(e, a)
f = Circle(C, Segment[D, K])
g = Circle(A, Segment[D, K])
h = Circle(B, Segment[D, K])
L = Intersect(f, a, 1)
M = Intersect(h, c)
N = Intersect(g, c, 1)

Tool: carré_milieu
carré_milieu[ <Point>, <Point> ]
Input: A, B
Output: e, f, g, h, C, D, F, G, H, E

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