Tahem za bod C nebo B můžete měnit velikost daného úhlu CAB. Pozor, spodní kružnice může být příliš velká a nevejde se na plochu.

A = Point(yAxis)
B = (3.344689675684226, -3.152989788535569)
a = Ray(A, B)
C = (-2.604421988082056, 0.19525396192585642)
b = Ray(A, C)
D = Point(b)
c = AngularBisector(C, A, B)
d = OrthogonalLine(D, c)
E = Intersect(d, a)
poly1, e, f, g, h, F, G = Polygon(D, E, 4)
E' = Mirror(E, d)
F' = Mirror(F, d)
f' = Segment(E', F')
F'_1 = Mirror(F, d)
G' = Mirror(G, d)
g' = Segment(F'_1, G')
G'_1 = Mirror(G, d)
D' = Mirror(D, d)
h' = Segment(G'_1, D')
i = Line(G', F')
H = Intersect(b, i)
j = AngularBisector(C, H, G')
I = Intersect(c, j)
J = Intersect(c, i)
k = Circle(I, J)
K, L = Intersect(k, c)
l = OrthogonalLine(L, c)
M = Intersect(b, l)
m = AngularBisector(C, M, L)
N = Intersect(c, m)
p = Circle(N, L)
O, P = Intersect(p, c)
n = OrthogonalLine(P, c)
Q = Intersect(b, n)
q = AngularBisector(C, Q, P)
R = Intersect(q, c)
r = Circle(R, P)
poly2, d', g'_1, f'_1, e_1 = Polygon(D', G'_1, F', E)