Plier/Déplier

Losange et axes de symétrie 

A = (-2.56, 4.0600000000000005)
B = (0.14, 0.68)
c = Circle(A, B)
D = Point(c)
d = Circle(B, A)
e = Circle(D, A)
D_1, C = Intersect(d, e)
poly1, a, b, e_1, c_1 = Polygon(A, B, C, D)
M = (-1.1, 4.36)
N = (3.9, -0.88)
f = Line(M, N)
E = Intersect(f, a)
F = Intersect(f, e_1)
G = Intersect(f, c_1)
H = Intersect(f, b)
poly2 = If(Defined[E] ∧ Defined[G], Polygon[A, E, G], If[Defined[E] ∧ Defined[F], Polygon[E, A, D, F], If[Defined[E] ∧ Defined[H], Polygon[B, E, H], If[Defined[G] ∧ Defined[F], Polygon[G, D, F], If[Defined[G] ∧ Defined[H], Polygon[G, D, C, H], If[Defined[F] ∧ Defined[H], Polygon[F, C, H], Polygon[A, D, C, B]]]]]])
poly3 = If(Defined[E] ∧ Defined[G], Polygon[Mirror[A, f], E, G], If[Defined[E] ∧ Defined[F], Polygon[E, Mirror[A, f], Mirror[D, f], F], If[Defined[E] ∧ Defined[H], Polygon[Mirror[B, f], E, H], If[Defined[G] ∧ Defined[F], Polygon[G, Mirror[D, f], F], If[Defined[G] ∧ Defined[H], Polygon[G, Mirror[D, f], Mirror[C, f], H], If[Defined[F] ∧ Defined[H], Polygon[F, Mirror[C, f], H], Polygon[Mirror[A, f], Mirror[D, f], Mirror[C, f], Mirror[B, f]]]]]]])
g = false