Sol 1 PR-

Sol 2 PR +

Sol 3 PQ -

Sol 4 PQ +

Sol 5 OS -

Sol 6 OS +

P = (-1.7247939893809914, 3.5864752432589104)
Q = (2.5287425494918305, 3.111219764055243)
R = (1.6257571390048633, 0.8062306899174552)
S = (-2.4393442622950814, 0.8845889280175645)
PR = Segment(P, R)
M_1 = Midpoint(Q, P)
O_1 = Rotate(P, 90°, M_1)
G_1 = Rotate(R, (-(90°)), O_1)
QG_1 = Segment(Q, G_1)
ad_1 = Line(G_1, S)
bc_1 = Line(Q, ad_1)
ab_1 = OrthogonalLine(P, bc_1)
cd_1 = OrthogonalLine(R, bc_1)
A_1 = Intersect(ad_1, ab_1)
B_1 = Intersect(bc_1, ab_1)
C_1 = Intersect(bc_1, cd_1)
D_1 = Intersect(ad_1, cd_1)
AB_1 = Segment(A_1, B_1)
BC_1 = Segment(B_1, C_1)
CD_1 = Segment(C_1, D_1)
AD_1 = Segment(D_1, A_1)
G_2 = Mirror(G_1, Q)
ABCD_1, a_1, b_1, c_1, d_1 = Polygon(A_1, B_1, C_1, D_1)
a = true
QG_2 = Segment(Q, G_2)
ad_2 = Line(G_2, S)
bd_2 = Line(Q, ad_2)
ab_2 = OrthogonalLine(P, bd_2)
cd_2 = OrthogonalLine(R, bd_2)
A_2 = Intersect(ad_2, ab_2)
D_2 = Intersect(ad_2, cd_2)
C_2 = Intersect(bd_2, cd_2)
B_2 = Intersect(bd_2, ab_2)
ABCD_2, a_2, b_2, c_2, d_2 = Polygon(A_2, B_2, C_2, D_2)
AB_2 = Segment(A_2, B_2)
BC_2 = Segment(B_2, C_2)
CD_2 = Segment(C_2, D_2)
AD_2 = Segment(D_2, A_2)
b = false
PQ = Segment(P, Q)
c = false
d = false
e = false
f = false
PS = Segment(P, S)
M_3 = Midpoint(P, R)
O_3 = Rotate(P, 90°, M_3)
G_{3} = Rotate(Q, (-(90°)), O_3)
RG_3 = Segment(R, G_{3})
ad_3 = Line(G_{3}, S)
bc_3 = Line(R, ad_3)
ab_3 = OrthogonalLine(P, ad_3)
cd_3 = OrthogonalLine(Q, bc_3)
A_3 = Intersect(ad_3, ab_3)
B_3 = Intersect(bc_3, ab_3)
C_3 = Intersect(bc_3, cd_3)
D_3 = Intersect(ad_3, cd_3)
AB_3 = Segment(A_3, B_3)
BC_3 = Segment(B_3, C_3)
CD_3 = Segment(C_3, D_3)
AD_3 = Segment(D_3, A_3)
ABCD_3, a_3, b_3, c_3, d_3 = Polygon(A_3, B_3, C_3, D_3)
G_{4} = Mirror(G_{3}, R)
RG_4 = Segment(G_{4}, R)
ad_4 = Line(G_{4}, S)
bc_4 = Line(R, ad_4)
ab_4 = OrthogonalLine(P, bc_4)
cd_4 = OrthogonalLine(Q, bc_4)
A_4 = Intersect(ad_4, ab_4)
B_4 = Intersect(bc_4, ab_4)
C_4 = Intersect(bc_4, cd_4)
D_4 = Intersect(ad_4, cd_4)
AB_4 = Segment(A_4, B_4)
BC_4 = Segment(B_4, C_4)
CD_4 = Segment(C_4, D_4)
AD_4 = Segment(D_4, A_4)
ABCD_4, a_4, b_4, c_4, d_4 = Polygon(A_4, B_4, C_4, D_4)
M_5 = Midpoint(S, R)
O_5 = Rotate(S, 90°, M_5)
G_5 = Rotate(P, (-(90°)), O_5)
RG_5 = Segment(R, G_5)
ad_5 = Line(G_5, Q)
bc_5 = Line(R, ad_5)
ab_5 = OrthogonalLine(P, bc_5)
cd_5 = OrthogonalLine(S, bc_5)
A_5 = Intersect(ad_5, ab_5)
B_5 = Intersect(bc_5, ab_5)
C_5 = Intersect(bc_5, cd_5)
D_5 = Intersect(ad_5, cd_5)
G_6 = Mirror(G_5, R)
RG_6 = Segment(G_6, R)
ABCD_5, a_5, b_5, c_5, d_5 = Polygon(A_5, B_5, C_5, D_5)
AB_5 = Segment(A_5, B_5)
BC_5 = Segment(B_5, C_5)
CD_5 = Segment(C_5, D_5)
AD_5 = Segment(D_5, A_5)
ad_6 = Line(G_6, Q)
bc_6 = Line(R, ad_6)
ab_6 = OrthogonalLine(P, ad_6)
cd_6 = OrthogonalLine(S, bc_6)
A_6 = Intersect(ad_6, ab_6)
B_6 = Intersect(bc_6, ab_6)
C_6 = Intersect(bc_6, cd_6)
D_6 = Intersect(ad_6, cd_6)
q1, a_6, b_6, c_6, d_6 = Polygon(A_6, B_6, C_6, D_6)
AB_6 = Segment(A_6, B_6)
BC_6 = Segment(B_6, C_6)
CD_6 = Segment(C_6, D_6)
AD_6 = Segment(D_6, A_6)
PP: P
QQ: Q
RR: R
SS: S