~hilaire-fernandes/drgeo/trunk

« back to all changes in this revision

Viewing changes to resources/SmalltalkSketches/Koch.st

  • Committer: Hilaire Fernandes
  • Date: 2022-08-15 15:18:37 UTC
  • Revision ID: hilaire.fernandes@gmail.com-20220815151837-6ta4g0ymzln715j4
Organisation

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
| canvas koch |
 
2
canvas := DrGeoSketch new fullscreen. 
 
3
koch := [ ].
 
4
koch := [ :a :b :k | |ab c d v |
 
5
        k > 0 ifTrue: [ 
 
6
                ab := (canvas segment: a to: b) hide.
 
7
                c := (canvas pointOnLine: ab at: 1 / 3) hide.
 
8
                d := (canvas pointOnLine: ab at: 2 / 3) hide.
 
9
                v := (canvas 
 
10
                altIntersectionOf: (canvas perpendicularBisector: ab) hide 
 
11
                and: (canvas circleCenter: c to: d) hide) hide.
 
12
                koch value: a value: c value: k - 1. 
 
13
                koch value: c value: v value: k - 1. 
 
14
                koch value: v value: d value: k - 1.
 
15
                koch value: d value: b value: k - 1].
 
16
        canvas segment: a to: b].
 
17
koch 
 
18
        value: ((canvas point: -8@3) name: 'A')
 
19
        value: ((canvas point: 8@3) name: 'B')
 
20
        value: 5