1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#
# a translation from a processing example
# http://vormplus.be/weging/an-introduction-to-processing/
#
Shoes.app :width => 420, :height => 420, :resizable => false do
stage, wide, sw, basesize, step = 0, 3.0, 1.0, 600, 60
stroke gray(127)
nofill
animate 40 do |i|
stage = (1...8).rand if i % 40 == 0
rotation = -(HALF_PI / wide)
clear do
background gray(240)
10.times do |i|
strokewidth sw * i
size = (basesize / 3) + ((step / 3) * i)
shape do
arc self.width / 2, self.height / 2,
size, size,
rotation * i, rotation * i + TWO_PI - HALF_PI
end
end
end
case stage
when 1; wide -= 0.1
when 2; wide += 0.1
when 3; basesize -= 1
when 4; basesize += 2
when 5; sw += 0.1
when 6; sw -= 0.01
when 7; step += 2
else step -= 1
end
end
end
|