\copyright \;Roman\; Chijner,\; Heidelberg,\; 2013

Goldenes Fünfecksfraktal  in 12 Schritten
Golden section in pentagonal fractal, 12 steps

f=\frac{\sqrt{5}-1}{2}

f

Goldener Schnitt
Golden ratio   →

(max 12) n=

Zoom +

Zoom -

zentraler Stern / central star

z1 = 10 (slider from 1 to 14, step 1)
f = 0.6180339887498949 (slider from -5 to 5, step 1)
B = Point(yAxis)
A0 = (0, 0)
l10 = Sequence(Rotate[B, 2 * π / 5 * i, A0], i, 1, 6)
v05: Element[l10, 4] - A0
v04: Element[l10, 3] - A0
d45: v04 - v05
l00 = Sequence(Rotate[l10, i * π] * f^(i), i, 0, 18)
v03: Element[l10, 2] - A0
d34: v03 - v04
v02: Element[l10, 1] - A0
d23: v02 - v03
v01: Element[l10, 5] - A0
d15: v01 - v05
d12: v01 - v02
A16: A0 + (3 + f^(4) + f^(6) + f^(8) + f^(10) + f^(12)) * v01
VZ16 = Translate(Polygon[Element[l00, 16]], A16)
An1: A0 + (2 + f + f^(2) + f^(3)) * v01
Pl24: An1 + f^(2) * v02
An1c: An1 + d15 * f
An1cr: An1c + v01 * f^(5)
An1cd: An1c + d12 * f^(3)
An1ca1: An1cd + d12 * f^(5)
An1cda2: An1cd - d45 * f^(6)
lZ16 = Sequence(Rotate[VZ16, 2 * π / 5 * i, An1], i, 1, 5)
lZ00 = Sequence(Rotate[Dilate[lZ16, (1 + f)^(i), An1], π / 5 * i, An1], i, 0, z1)
An1r1: An1 + d23 * f^(2)
An1r1a3: An1r1 + d12 * f^(5)
An1r1a2: An1r1 - d45 * f^(5)
lZ140 = Translate(lZ00, An1r1 - An1)
lZ141 = Sequence(Element[lZ140, i], i, 1, 9)
lZ210 = Translate(lZ141, An1r1a3 - An1r1)
lZ211 = Sequence(Element[lZ210, i], i, 1, 5)
lZ211'_5 = Translate(lZ211, An1cda2 - An1r1a3)
lZ211'_1 = Translate(lZ211, An1ca1 - An1r1a3)
lZ221 = Translate(lZ211, An1r1a2 - An1r1a3)
lZ141c = Sequence(Element[lZ140, i], i, 1, 7)
An1r2: An1r1 + d23 * f^(4)
An1r2a2: An1r2 - d34 * f^(6)
lZ211' = Translate(lZ211, An1r2a2 - An1r1a3)
An1r2a1: An1r2 + d23 * f^(6)
lZ211'_4 = Translate(lZ211, An1r2a1 - An1r1a3)
Liste1 = Mirror({lZ211'_4, lZ211'_1, lZ211'_5}, Line[Pl24, An1cd])
lZ230 = Translate(lZ141c, An1r2 - An1r1)
lZ2301 = Sequence(Element[lZ230, i], i, 1, 5)
Liste2 = Mirror({lZ211'_4, lZ211'_1, lZ2301, lZ221, Liste1, lZ211, lZ211'_5}, Line[An1c, An1cr])
lZ141a = Element(lZ140, 8)
A02: A0 + (1 + f) * v01
An12: A02 + v02 / f
An1c1': An12 + d23 * f
SSa1: A02 - 2 * v04
lZ120 = Translate(lZ00, SSa1 - An1)
lZ122 = Rotate(Sequence[Element[Element[lZ120, 10], i], i, 1, 5], 3.76991, SSa1)
lZ123 = Rotate(Sequence[Element[Element[lZ120, 11], i], i, 1, 4], 3.76991, SSa1)
N = 5 (slider from 1 to 10, step 1)
n_{ext} = 15 (slider from 1 to 20, step 1)
Pl1: A0 + v01
A04: A0 + (2 + f) * v01
A10: A0 + (3 + f^(4) + f^(6)) * v01
A08: A0 + (3 + f^(4)) * v01
A12: A0 + (3 + f^(4) + f^(6) + f^(8)) * v01
lZP102 = Sequence(Dilate[A12, (1 + f)^(i), An1], i, 0, 6)
A14: A0 + (3 + f^(4) + f^(6) + f^(8) + f^(10)) * v01
lZP103 = Sequence(Dilate[A16, (1 + f)^(i), An1], i, 0, z1)
A06: A0 + 3 * v01
Kl10 = Sequence(Rotate[Translate[Polygon[Element[l00, 2]], A02], 2 * π / 5 * i], i, 1, 5)
Pl13: A02 - v04
Pl11: A0 - v04 / f
Pl14 = Mirror(Pl13, yAxis)
An1a: A02 + (1 + f) * v01
Pl15' = Mirror(An12, yAxis)
f' = 1.618033988749895
An1c1'b: An1c1' + d23 * f^(3)
An1c1'a: An1c1' - d45 * f^(2)
SSa1a: SSa1 + d15 * f^(3)
SSa1b: SSa1 + d23 * f^(3)
SSa1c: SSa1 - d45 * f^(2)
An1ca: An1c + d23 * f^(4)
An1cb: An1c - d45 * f^(4)
An1cc: An1c + d15 * f^(3)
An1c1'bb: An1c1' + d15 * f^(4)
An1c1'bc: An1c1' + d34 * f^(4)
An1c1'aa: An1c1'a + d34 * f^(4)
SSa1ba3: SSa1b + d34 * f^(6)
SSa1ca: SSa1c + d34 * f^(4)
SSa1ca1: SSa1c + d15 * f^(5)
SSa1ba1: SSa1b + d23 * f^(5)
SSa1ba2: SSa1b + d15 * f^(6)
SSa1ca2: SSa1c + d23 * f^(5)
SSa1ca3: SSa1c - d45 * f^(4)
An1cc1: An1c + d15 * f^(3)
An1cc11: An1cc1 + d15 * f^(5)
An1cc12: An1cc1 + d23 * f^(6)
An1cc13: An1cc1 - d45 * f^(6)
An1cc14: An1cc1 + d12 * f^(5)
An1cba1: An1cb - d45 * f^(6)
An1cda1: An1cd + d23 * f^(6)
An1r1a2a1: An1r1a2 - d45 * f^(7)
An1r1a3a1: An1r1a3 + d23 * f^(8)
An1r1a2a2a: An1r1a2 + d12 * f^(8)
An1r1a2a2a2: An1r1a2 - d34 * f^(8)
Pl16: Pl11 + v01 * f
Pl25: Pl13 + f * v02
V04 = Translate(Polygon[Element[l00, 4]], Pl16)
lV04a_1 = Sequence(Rotate[V04, (-2 * π) / 5 * i, Pl13], i, 0, 3)
lV04a = Mirror(lV04a_1, yAxis)
Kl30 = Sequence(Rotate[{lV04a, lV04a_1}, 2 * π / 5 * i, A0], i, 1, 5)
V03 = Translate(Polygon[Element[l00, 3]], Pl11)
Kl20 = Sequence(Rotate[Sequence[Rotate[V03, -2 * π / 5 * i, A02], i, 0, 3], 2 * π / 5 * j, A0], j, 1, 5)
Pl22: A04 + f * d15
Pl21: A04 - f^(2) * v04
V05a = Translate(Polygon[Element[l00, 5]], Pl21)
Pl16a: Pl16 - v05 * f^(2)
V05b = Translate(Polygon[Element[l00, 5]], Pl16a)
Kl40 = Sequence(Rotate[{{Sequence[Rotate[V05a, 2 * π / 5 * i, Pl22], i, 0, 3], Rotate[Sequence[Rotate[V05a, 2 * π / 5 * j, Pl22], j, 0, 3], 1.25664, Pl13], V05b}, Mirror[{Sequence[Rotate[V05a, 2 * π / 5 * i, Pl22], i, 0, 3], Rotate[Sequence[Rotate[V05a, 2 * π / 5 * j, Pl22], j, 0, 3], 1.25664, Pl13], V05b}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
KZ10 = Sequence(Rotate[{lZ00, Translate[lZ00, An12 - An1]}, 2 * π / 5 * i, A0], i, 1, 5)
KZ10P = Sequence(Rotate[{An1, An12}, 2 * π / 5 * i, A0], i, 1, 5)
V00 = Polygon(l10)
V06 = Translate(Polygon[Element[l00, 6]], A06)
lZ011 = Element(lZ00, 11)
lKrona09 = Element(lZ00, 10)
lZ01 = Sequence(Element[lZ00, i], i, 1, 10)
lZ112 = Translate(Sequence[Element[lZ122, i], i, 2, 5], An1c1' - SSa1)
lZ113 = Translate(Sequence[Element[lZ123, i], i, 2, 4], An1c1' - SSa1)
lZ132 = Translate(Rotate[lZ112, -1.2566370614359172, An1c1'], An1c - An1c1')
lZ121 = Sequence(Element[lZ120, i], i, 1, 9)
lZ131 = Translate(lZ121, An1c - SSa1)
n = 12 (slider from 1 to 15, step 1)
lZ133 = Translate(Sequence[Element[lZ123, i], i, 1, 3], An1c - SSa1)
lZ111 = Translate(lZ121, An1c1' - SSa1)
lZ142 = Rotate(Sequence[Element[Element[lZ140, 9], i], i, 1, 4], 3.76991, An1r1)
lZ143 = Rotate(Sequence[Element[Element[lZ140, 10], i], i, 1, 3], 3.76991, An1r1)
ZZ3: An1 + v01 * f^(2)
V09 = Translate(Polygon[Element[l00, 9]], ZZ3)
ZZ6a: An1 + v01 * (f^(2) + f^(5) + f^(9))
ZZ2: An1 + v01 * f^(3)
V08 = Translate(Polygon[Element[l00, 8]], ZZ2)
ZZ4: An1 + v01 * (f^(2) + f^(5))
ZZ1: An1 + v01 * f^(4)
V07 = Translate(Polygon[Element[l00, 7]], ZZ1)
ZZ3c: ZZ3 + (v02 - v03) * f^(6)
V11 = Translate(Polygon[Element[l00, 11]], ZZ4)
A05: A0 + (3 + 2 * f^(3)) * v01
ZZ3d: ZZ3c + v01 * f^(7)
V10 = Translate(Polygon[Element[l00, 10]], ZZ3d)
V12 = Translate(Polygon[Element[l00, 12]], ZZ6a)
ZZ5: An1 + v01 * (f^(2) + f^(5) + f^(7))
V13 = Translate(Polygon[Element[l00, 13]], ZZ5)
ZZ5b: ZZ5 + f^(11) * v01
lZ213 = Sequence(Element[Element[lZ210, 7], i], i, 1, 3)
V09a = Translate(V09, ZZ3c - ZZ3)
V09b = Mirror(V09a, Line[Pl22, An1r1])
lZ223 = Mirror(lZ213, Line[Pl22, An1r1])
lZ212 = Sequence(Element[Element[lZ210, 6], i], i, 1, 4)
lZ222 = Translate(Rotate[Sequence[Element[Element[lZ210, 6], i], i, 2, 5], 2 * π / 5 * n, An1r1a3], An1r1a2 - An1r1a3)
lZ240 = Translate(lZ141c, An1cd - An1r1)
lZ250 = Translate(lZ141c, An1cb - An1r1)
lZ260 = Translate(lZ141c, An1ca - An1r1)
lZ232 = Translate(Sequence[Element[lZ142, j], j, 2, 4], An1cd - An1r1)
lZ270 = Translate(lZ141c, An1cc1 - An1r1)
lZ262 = Translate(Sequence[Element[lZ142, j], j, 2, 4], An1cc1 - An1r1)
lZ122b = Translate(Sequence[Element[lZ122, i], i, 2, 4], SSa1c - SSa1)
lZ122a = Translate(Sequence[Element[lZ122, i], i, 2, 4], An1c1'a - SSa1)
lZ231 = Sequence(Rotate[V09b, -2 * π / 5 * i, An1r2], i, 0, 2)
lZ241 = Translate({lZ231, Rotate[V09b, 1.25664, An1r2]}, An1cd - An1r2)
lZ251 = Translate({lZ231, Rotate[V09b, 1.25664, An1r2]}, An1cb - An1r2)
lZ261 = Translate(lZ231, An1ca - An1r2)
lZ271 = Translate(lZ251, An1cc1 - An1cb)
lZ280 = Translate(lZ141c, SSa1c - An1r1)
lZ282 = Mirror(lZ142, Line[Pl22, An1c])
lZ281 = Mirror(lZ141a, Line[Pl22, An1c])
lZ290e2_1 = Rotate(Element[lZ262, 3], 1.25664, Pl13)
lZ290e2 = Rotate({lZ232, lZ142, Element[lZ262, 3]}, 1.25664, Pl13)
lZ290e1 = Rotate({lZ231, lZ241, lZ141a, lZ251, lZ261}, 1.25664, Pl13)
lZ290a = Translate(lZ280, SSa1a - SSa1c)
lZ290b = Mirror(lZ290a, Line[Pl13, SSa1])
lZ290a1 = Translate(lZ281, SSa1a - SSa1c)
lZ290b1 = Mirror(lZ290a1, Line[Pl13, SSa1])
lZ290a2 = Translate(lZ282, SSa1a - SSa1c)
lZ290b2 = Mirror(lZ290a2, Line[Pl13, SSa1])
SSa1r: SSa1 - v04 * f^(4)
V09c = Translate(V09a, SSa1r - ZZ3c)
lZ231' = Mirror(lZ231, Line[Pl22, An1c])
lZ231'' = Mirror(lZ231', Line[Pl22, SSa1c])
lZ231''' = Mirror(lZ231'', Line[Pl13, SSa1])
An1r1e: An1r1 - v03 * f^(6)
V11a = Translate(V11, An1r1e - ZZ4)
V11b = Rotate(V11a, 1.2566370614359172, Pl22)
V10a = Translate(V10, An1cr - ZZ3d)
V11c = Rotate(V11, 1.25664, ZZ3d)
An1r1ee: An1r1e - v03 * f^(7)
V12a = Translate(V12, An1r1ee - ZZ6a)
lZ2302 = Element(lZ230, 6)
lZ211'1 = Translate(Sequence[Element[lZ212, i], i, 1, 3], An1r2a2 - An1r1a3)
lZ2303: {Sequence[Element[Element[lZ230, 7], i], i, 1, 3], Element[Element[lZ230, 7], 5]}
lZ211'_3 = Translate(lZ213, An1ca1 - An1r1a3)
lZ211'_2 = Translate(lZ212, An1ca1 - An1r1a3)
lZ211'_42 = Translate(lZ211'1, An1r2a1 - An1r2a2)
lZ211'_5a = Translate(lZ211'_2, An1cda2 - An1ca1)
Liste1a = Mirror({lZ211'_42, lZ211'_2, lZ211'_5a}, Line[Pl24, An1cd])
Liste1b = Mirror(lZ211'_3, Line[Pl24, An1cd])
Liste2a = Mirror({lZ211'_42, lZ211'_2, lZ2302, lZ211'1, lZ222, V11c, V11, Liste1a, lZ211'_5a}, Line[An1c, An1cr])
Liste2b = Mirror({lZ211'_3, lZ2303, lZ223, Liste1b}, Line[An1c, An1cr])
An1cx: An1c + d12 * f^(6)
Liste1' = Mirror(Element[Liste1, 2], Line[An1cx, An1cb])
Liste30 = Mirror({Element[Liste1, 1], Element[Liste1, 2]}, Line[An1cx, An1cb])
Liste31 = Mirror({Element[Liste1a, 1], Element[Liste1a, 2]}, Line[An1cx, An1cb])
An1cra: An1cr + v01 * (f^(5) + f^(7))
V10b = Translate(V10a, An1cra - An1cr)
lZ290e0 = Rotate({lZ240, lZ141c, lZ250, lZ260}, 1.25664, Pl13)
A = Point(Kl20)
Liste60 = Translate(lZ211, SSa1ca - An1r1a3)
Liste700 = Translate(Liste60, SSa1ba1 - SSa1ca)
SSa1ra: SSa1r - v04 * (f^(4) + f^(6))
V09d = Translate(V09, SSa1ra - ZZ3)
Liste602 = Mirror(Sequence[Element[Liste2b, i], i, 1, 3], Line[Pl22, SSa1c])
Liste601 = Mirror(Sequence[Element[Liste2a, i], i, 1, 5], Line[Pl22, SSa1c])
Liste600 = Mirror(Sequence[Element[Liste2, i], i, 1, 4], Line[Pl22, SSa1c])
SSa1rab: SSa1b + d15 * f^(5)
Liste223 = Translate(lZ213, SSa1rab - An1r1a3)
Liste221 = Translate(lZ212, SSa1rab - An1r1a3)
Liste220 = Translate(lZ211, SSa1rab - An1r1a3)
SSa1rae: SSa1ra - v04 * f^(7)
V11d = Translate(V11, SSa1rae - ZZ4)
Liste502 = Mirror({Sequence[Element[Liste1b, i], i, 2, 3], V10b, Liste2b, Liste602, Liste223}, Line[SSa1, SSa1r])
Liste500 = Mirror({Element[Liste1, 1], Liste30, Liste2, Liste600, Liste220}, Line[SSa1, SSa1r])
Liste501a = Mirror({Liste31, {Element[Liste1a, 1], Element[Element[Liste1a, 2], 4]}, Liste2a, Liste601, Liste221}, Line[SSa1, SSa1r])
Kl50 = Sequence(Rotate[{{lZ113, lZ123, lZ133, lZ011}, Mirror[{lZ113, lZ123, lZ133, lZ011}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
Kl91 = Sequence(Rotate[{{Liste501a, V11d, Liste221, Liste601, Liste2a, V11b, Liste31, Liste1a, lZ211'_5a, lZ211'_2, lZ211'_42, lZ2302, lZ211'1, lZ222, V11a, lZ212, V11c, V11}, Mirror[{Liste501a, V11d, Liste221, Liste601, Liste2a, V11b, Liste31, Liste1a, lZ211'_5a, lZ211'_2, lZ211'_42, lZ2302, lZ211'1, lZ222, V11a, lZ212, V11c, V11}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
Kl92 = Sequence(Rotate[{{Liste500, Liste220, Liste600, Liste2, Liste30, Liste1, lZ211'_5, lZ211'_1, lZ211'_4, lZ2301, lZ211', lZ221, lZ211, V12a, V12}, Mirror[{Liste500, Liste220, Liste600, Liste2, Liste30, Liste1, lZ211'_5, lZ211'_1, lZ211'_4, lZ2301, lZ211', lZ221, lZ211, V12a, V12}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
C = (6.79229597012837, 27.100869908168043)
c = Circle(A0, C)
Name2: "" + (LaTeX[Autor]) + ""
Textfeld1 = Textfield(n)
ScaleF = 2 (slider from 0 to 5, step 0.1)
An2: A0 + (3 + f^(3)) * v02
ZZn: An2 + v02 * (f^(2) + f^(4))
V10c = Translate(V10, An1 + v01 * (f^(2) + f^(7)) - ZZ3d)
Kl90 = Sequence(Rotate[{{Liste502, lZ290e0, lZ290a, Liste223, Liste602, lZ290b, Liste2b, lZ270, lZ260, V10a, V10b, lZ250, Liste1b, lZ240, lZ211'_3, lZ2303, lZ223, lZ141c, lZ213, lZ280, V10c}, Mirror[{V10c, lZ280, Liste502, lZ290e0, lZ290a, Liste223, Liste602, lZ290b, Liste2b, lZ270, lZ260, V10a, V10b, lZ250, Liste1b, lZ240, lZ211'_3, lZ2303, lZ223, lZ141c, lZ213}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
Tr0: {Polygon[Element[l10, 1], Element[Element[KZ10P, 5], 2], Element[l10, 5], Element[l10, 1]], Polygon[Element[l10, 1], Element[Element[KZ10P, 1], 2], Element[l10, 2], Element[l10, 1]], Polygon[Element[l10, 2], Element[Element[KZ10P, 2], 2], Element[l10, 3], Element[l10, 2]], Polygon[Element[l10, 3], Element[Element[KZ10P, 3], 2], Element[l10, 4], Element[l10, 3]], Polygon[Element[l10, 4], Element[Element[KZ10P, 4], 2], Element[l10, 5], Element[l10, 4]]}
a = false
V07a = Translate(V07, An12 - v04 * f^(2) - ZZ1)
Kl60 = Sequence(Rotate[{{lZ112, lZ122a, lZ122, lZ122b, lZ132, lZ143}, Mirror[{lZ112, lZ122a, lZ122, lZ122b, lZ132, lZ143, V07a}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
V08a = Translate(V08, An12 - v04 * f - ZZ2)
Kl70 = Sequence(Rotate[{{lZ290e2, lZ111, lZ290a2, lZ290b2, lZ121, lZ282, lZ262, lZ131, lZ232, lZ142, V08, V08a}, Mirror[{V08a, lZ290e2, lZ111, lZ290a2, lZ290b2, lZ121, lZ282, lZ262, lZ131, lZ232, lZ142, V08}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)
V09aa = Translate(V09, An12 - v04 * (f + f^(6)) - ZZ3)
Kl80 = Sequence(Rotate[{{V09aa, lZ290e1, lZ231''', lZ290a1, V09c, lZ290b1, V09d, lZ231'', lZ281, lZ231', lZ271, lZ261, lZ251, lZ241, lZ231, lZ141a, V09a, V09}, Mirror[{V09aa, lZ290e1, lZ231''', lZ290a1, V09c, lZ290b1, V09d, lZ231'', lZ281, lZ231', lZ271, lZ261, lZ251, lZ241, lZ231, lZ141a, V09a, V09}, yAxis]}, 2 * π / 5 * i1, A0], i1, 1, 5)