~drgeo-developers/drgeo/trunk

« back to all changes in this revision

Viewing changes to resources/SmalltalkSketches/PI-Mont-Carlo.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
 
| fig point comment x y random inArc tries|
2
 
"Monte-Carlo PI approximation"
3
 
fig _ DrGeoSketch new scale: 400.
4
 
fig centerTo: 0.5@0.5.
5
 
fig arcCenter: 0@0 from:  1@0 to: 0@1.
6
 
fig polygon: { 0@0. 0@1. 1@1. 1@0 }.
7
 
comment _ fig text: '' at: 0@ -0.1.
8
 
random _ Random seed: Time millisecondClockValue.
9
 
tries _ 200.
10
 
inArc _ 0.
11
 
1 to: tries do: [: try |
12
 
        x _ random next.
13
 
        y _ random next.
14
 
        point _ (fig point: x@y) small.
15
 
        (x squared + y squared) > 1
16
 
                ifTrue: [point color: Color blue  ]
17
 
                ifFalse: [inArc _ inArc + 1 ].
18
 
comment text: 'Tries: ', try asString, '
19
 
approx: ', (inArc * 4 / try) asFloat asString.
20
 
(try \\ 10) isZero ifTrue: [(Delay forMilliseconds: 10) wait]
21
 
]