1
| canvas durer o1 a1 r1 c1b p1 t1 m1 k1 n1 h1 b1 e1 alfa d1 c11|
2
canvas _ DrGeoSketch new fullscreen.
4
durer _ [ :a :b :c :d :e :k |
5
| ab bc cd de ea ac ad bd be ce f g h l m c1 c2 c3 c4 c5 n o p q r s t u v z|
7
"Sides of the pentagon"
8
ab _ (canvas line: a to: b) hide.
9
bc _ (canvas line: b to: c) hide.
10
cd _ (canvas line: c to: d) hide.
11
de _ (canvas line: d to: e) hide.
12
ea _ (canvas line: e to: a) hide.
14
ac _ (canvas line: a to: c) hide.
15
ad _ (canvas line: a to: d) hide.
16
bd _ (canvas line: b to: d) hide.
17
be _ (canvas line: b to: e) hide .
18
ce _ (canvas line: c to: e) hide.
20
f _ (canvas intersectionOf: ac and: be) hide.
21
g _ (canvas intersectionOf: ac and: bd) hide.
22
h _ (canvas intersectionOf: ce and: bd) hide.
23
l _ (canvas intersectionOf: ce and: ad) hide.
24
m _ (canvas intersectionOf: ad and: be) hide.
26
c1 _ (canvas circleCenter: h to: g) hide.
27
c2 _ (canvas circleCenter: l to: h) hide.
28
c3 _ (canvas circleCenter: m to: l) hide.
29
c4 _ (canvas circleCenter: f to: m) hide.
30
c5 _ (canvas circleCenter: g to: f) hide.
31
"Vertex of the new pentagons"
32
n _ (canvas intersectionOf: cd and: c1) hide.
33
o _ (canvas altIntersectionOf: cd and: c1) hide.
34
p _ (canvas intersectionOf: c2 and: de) hide.
35
q _ (canvas altIntersectionOf: c2 and: de) hide.
36
r _ (canvas intersectionOf: c3 and: ea) hide.
37
s _ (canvas altIntersectionOf: c3 and: ea) hide.
38
t _ (canvas intersectionOf: c4 and: ab) hide.
39
u _ (canvas altIntersectionOf: c4 and: ab) hide.
40
v _ (canvas intersectionOf: c5 and: bc) hide.
41
z _ (canvas altIntersectionOf: c5 and: bc) hide.
43
durer valueWithArguments: { f . g . h . l . m . k - 1 }.
44
durer valueWithArguments: { g . z . c . n . h . k - 1 }.
45
durer valueWithArguments: { l . h . o . d . p . k - 1 }.
46
durer valueWithArguments: { r . m . l . q . e . k - 1 }.
47
durer valueWithArguments: { a . t . f . m . s . k - 1 }.
48
durer valueWithArguments: { u. b . v . g . f . k - 1 }.
51
ifFalse: [ canvas polygon: { a . b . c . d . e }]
53
o1 _ (canvas point: 0@0) name: 'O'.
54
a1 _ (canvas point: 0@3.5) name: 'A'.
55
r1 _ (canvas line: o1 to: a1) hide.
56
c11 _ (canvas circleCenter: o1 to: a1) hide.
57
p1 _ (canvas perpendicular: r1 at: o1) hide.
58
t1 _ (canvas intersectionOf: p1 and: c11) hide.
59
m1 _ (canvas middleOf: o1 and: t1) hide.
60
k1 _ (canvas circleCenter: m1 to: a1) hide.
61
n1 _ (canvas altIntersectionOf: k1 and: p1) hide.
62
h1 _ (canvas circleCenter: a1 to: n1) hide.
63
b1 _ (canvas intersectionOf: h1 and: c11) name: 'B'.
64
e1 _ (canvas altIntersectionOf: h1 and: c11) name: 'E'.
65
alfa _ canvas geometricAngle: e1 to: a1 to: b1.
66
d1 _ (canvas rotate: a1 center: e1 angle: alfa) name: 'D'.
67
c1b _ (canvas reflect: d1 axis: r1) name: 'C'.
69
durer valueWithArguments: { a1 . b1 . c1b . d1 . e1 . 4 }