~drgeo-developers/drgeo/trunk

« back to all changes in this revision

Viewing changes to resources/SmalltalkSketches/Fathauer.st

  • Committer: Hilaire Fernandes
  • Date: 2012-01-27 21:15:40 UTC
  • Revision ID: hilaire.fernandes@gmail.com-20120127211540-912spf97bhpx6mve
Initial additions

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
| canvas tile alfa beta  A  B C O |
2
 
canvas _ DrGeoSketch new.
3
 
alfa _ canvas freeValue: -1.047.
4
 
beta _ canvas freeValue: 2.094.
5
 
tile _ [ ].
6
 
tile _ [ :a :b :k | | s sb c bc apar bperp f d e g|
7
 
        canvas segment: a to: b .
8
 
        s _ (canvas rotate: a center: b angle: alfa) hide.
9
 
        sb _ (canvas line: s to: b) hide.
10
 
        c _ (canvas reflect: a axis: sb) hide.
11
 
        bc _ (canvas segment: b to: c) hide.
12
 
        apar _ (canvas parallel: bc at: a) hide.
13
 
        bperp _ (canvas perpendicular: bc at: b) hide.
14
 
        f _ (canvas intersectionOf: apar and: bperp) hide.
15
 
        d _ (canvas reflect: f axis: sb) hide.
16
 
        e _ (canvas middleOf: a and: c) hide.
17
 
        canvas segment: c to: d.
18
 
        canvas segment: d to: e.
19
 
        canvas segment: e to: f.
20
 
        canvas segment: f to: a.
21
 
        g _ (canvas rotate: f center: a angle: beta) hide.
22
 
        k > 0 ifTrue: [ 
23
 
                tile value: g value: a value: k - 1.
24
 
                tile value: f value: e value: k - 1.
25
 
                tile value: d value: c value: k - 1]
26
 
].
27
 
 
28
 
A _ (canvas point: -3@0) lock.
29
 
B _ (canvas point: 3@0) lock.
30
 
C _ (canvas point: 0@(3 * 3 sqrt)) lock.
31
 
O _ (canvas point: 0@3 sqrt) lock.
32
 
canvas ray: O to: A.
33
 
canvas ray: O to: B.
34
 
canvas ray: O to: C.
35
 
 
36
 
tile value: A value: O value: 3.
37
 
tile value: B value: O value: 3.
38
 
tile value: C value: O value: 3