ruby-processing 2.4.3 → 2.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.gitignore +3 -1
- data/CHANGELOG +5 -0
- data/README.md +4 -2
- data/lib/ruby-processing/exporters/application_exporter.rb +1 -0
- data/lib/ruby-processing/version.rb +1 -1
- data/library/boids/boids.rb +14 -13
- data/library/vecmath/lib/vec.rb +20 -4
- data/samples/contributed/circle_collision.rb +92 -149
- data/samples/contributed/drawolver.rb +13 -27
- data/samples/contributed/elegant_ball.rb +158 -0
- data/samples/contributed/fern.rb +16 -3
- data/samples/contributed/flight_patterns.rb +16 -4
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/bumpy_surface_noise.rb +4 -9
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/data/java_args.txt +0 -0
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/library/custom_shape/custom_shape.rb +1 -1
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/library/particle_system/particle_system.rb +7 -10
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/library/surface/surface.rb +2 -2
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/liquidy.rb +7 -7
- data/samples/external_library/java_processing/{pbox2d → box2d_processing}/polygons.rb +4 -9
- data/samples/external_library/java_processing/custom/README.md +15 -0
- data/samples/external_library/java_processing/custom/Rakefile +28 -0
- data/samples/external_library/java_processing/custom/landscape.rb +58 -0
- data/samples/external_library/java_processing/custom/src/nn/Connection.java +47 -0
- data/samples/external_library/java_processing/custom/src/nn/HiddenNeuron.java +20 -0
- data/samples/external_library/java_processing/custom/src/nn/InputNeuron.java +23 -0
- data/samples/external_library/java_processing/custom/src/nn/Network.java +136 -0
- data/samples/external_library/java_processing/custom/src/nn/Neuron.java +79 -0
- data/samples/external_library/java_processing/custom/src/nn/OutputNeuron.java +7 -0
- data/samples/external_library/java_processing/custom/xor.rb +88 -0
- data/samples/external_library/ruby_gem/README +1 -1
- data/samples/external_library/ruby_gem/data/data.json +8 -0
- data/samples/external_library/ruby_gem/draw_test.rb +171 -0
- data/samples/processing_app/basics/form/icosahedra.rb +39 -0
- data/samples/processing_app/basics/form/library/icosahedron/icosahedron.rb +60 -0
- data/samples/processing_app/basics/form/toroid.rb +78 -92
- data/samples/processing_app/basics/transform/birds.rb +6 -12
- data/samples/processing_app/basics/transform/cubes_in_cube.rb +25 -22
- data/samples/processing_app/basics/transform/library/cube/cube.rb +16 -16
- data/samples/processing_app/basics/transform/rotate_push_pop.rb +1 -1
- data/samples/processing_app/demos/graphics/bezier_patch.rb +18 -31
- data/samples/processing_app/demos/graphics/trefoil.rb +15 -15
- data/samples/processing_app/library/vecmath/acceleration_with_vectors.rb +3 -3
- data/samples/processing_app/library/vecmath/hilbert_fractal.rb +2 -2
- data/samples/processing_app/library/vecmath/library/flock/flock.rb +18 -21
- data/samples/processing_app/library/vecmath/library/hilbert/hilbert.rb +11 -8
- data/samples/processing_app/library/vecmath/library/wiggler/wiggler.rb +7 -15
- data/samples/processing_app/library/vecmath/seeking_neural.rb +172 -0
- data/samples/processing_app/topics/animation/animated_sprite.rb +5 -8
- data/samples/processing_app/topics/animation/sequential.rb +2 -3
- data/samples/processing_app/topics/create_shapes/library/particle/particle_system.rb +7 -7
- data/samples/processing_app/topics/create_shapes/particle_system_pshape.rb +2 -2
- data/samples/processing_app/topics/create_shapes/wiggle_pshape.rb +2 -1
- data/samples/processing_app/topics/lsystems/koch.rb +1 -1
- data/samples/processing_app/topics/lsystems/library/koch/koch_fractal.rb +24 -23
- data/samples/processing_app/topics/motion/circle_collision.rb +117 -160
- data/samples/processing_app/topics/motion/library/cube/cube.rb +1 -1
- data/samples/processing_app/topics/motion/morph.rb +1 -1
- data/samples/processing_app/topics/motion/reflection1.rb +17 -16
- data/samples/processing_app/topics/shaders/conway.rb +2 -2
- data/samples/processing_app/topics/shaders/data/conway.glsl +10 -10
- data/samples/processing_app/topics/shaders/glsl_heightmap_noise.rb +9 -8
- data/samples/processing_app/topics/shaders/landscape.rb +1 -1
- data/samples/processing_app/topics/simulate/flocking.rb +1 -1
- data/samples/processing_app/topics/simulate/library/flock/flock.rb +62 -57
- data/samples/processing_app/topics/simulate/multiple_particle_systems.rb +8 -28
- data/samples/processing_app/topics/simulate/simple_particle_system.rb +9 -7
- data/samples/processing_app/topics/simulate/smoke_particle_system.rb +12 -11
- data/vendors/Rakefile +2 -2
- metadata +26 -21
- data/samples/contributed/pong.rb +0 -177
- data/samples/contributed/simple_buffer.rb +0 -44
- data/samples/external_library/java_processing/pbox2d/contact_test.rb +0 -23
- data/samples/processing_app/basics/form/icosahedra/icosahedra.rb +0 -72
- data/samples/processing_app/basics/form/icosahedra/icosahedron.rb +0 -116
- data/samples/processing_app/basics/form/icosahedra/shape_3D.rb +0 -25
data/vendors/Rakefile
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'rake/clean'
|
2
2
|
|
3
|
-
JRUBY_VERSION = "1.7.
|
3
|
+
JRUBY_VERSION = "1.7.12"
|
4
4
|
|
5
5
|
CLOBBER.include("jruby-complete-#{JRUBY_VERSION}.jar")
|
6
6
|
|
@@ -12,7 +12,7 @@ task :download => ["jruby-complete-#{JRUBY_VERSION}.jar"]
|
|
12
12
|
|
13
13
|
file "jruby-complete-#{JRUBY_VERSION}.jar" do
|
14
14
|
sh "wget http://jruby.org.s3.amazonaws.com/downloads/#{JRUBY_VERSION}/jruby-complete-#{JRUBY_VERSION}.jar"
|
15
|
-
check_sha1("jruby-complete-#{JRUBY_VERSION}.jar", "
|
15
|
+
check_sha1("jruby-complete-#{JRUBY_VERSION}.jar", "a63380de1a30534184ae52c419a67a7ea43f45d3")
|
16
16
|
end
|
17
17
|
|
18
18
|
directory "../lib/ruby"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-processing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.4.
|
4
|
+
version: 2.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Ashkenas
|
@@ -18,7 +18,7 @@ authors:
|
|
18
18
|
autorequire:
|
19
19
|
bindir: bin
|
20
20
|
cert_chain: []
|
21
|
-
date: 2014-
|
21
|
+
date: 2014-04-15 00:00:00.000000000 Z
|
22
22
|
dependencies:
|
23
23
|
- !ruby/object:Gem::Dependency
|
24
24
|
name: bundler
|
@@ -134,6 +134,7 @@ files:
|
|
134
134
|
- samples/contributed/bezier_playground.rb
|
135
135
|
- samples/contributed/circle_collision.rb
|
136
136
|
- samples/contributed/drawolver.rb
|
137
|
+
- samples/contributed/elegant_ball.rb
|
137
138
|
- samples/contributed/empathy.rb
|
138
139
|
- samples/contributed/fern.rb
|
139
140
|
- samples/contributed/fibonacci_sphere.rb
|
@@ -145,13 +146,28 @@ files:
|
|
145
146
|
- samples/contributed/jwishy.rb
|
146
147
|
- samples/contributed/mandelbrot.rb
|
147
148
|
- samples/contributed/orbit.rb
|
148
|
-
- samples/contributed/pong.rb
|
149
149
|
- samples/contributed/quadraticvertex.rb
|
150
150
|
- samples/contributed/re_sample.rb
|
151
151
|
- samples/contributed/reflection.rb
|
152
|
-
- samples/contributed/simple_buffer.rb
|
153
152
|
- samples/contributed/tree.rb
|
154
153
|
- samples/external_library/java_processing/README
|
154
|
+
- samples/external_library/java_processing/box2d_processing/bumpy_surface_noise.rb
|
155
|
+
- samples/external_library/java_processing/box2d_processing/data/java_args.txt
|
156
|
+
- samples/external_library/java_processing/box2d_processing/library/custom_shape/custom_shape.rb
|
157
|
+
- samples/external_library/java_processing/box2d_processing/library/particle_system/particle_system.rb
|
158
|
+
- samples/external_library/java_processing/box2d_processing/library/surface/surface.rb
|
159
|
+
- samples/external_library/java_processing/box2d_processing/liquidy.rb
|
160
|
+
- samples/external_library/java_processing/box2d_processing/polygons.rb
|
161
|
+
- samples/external_library/java_processing/custom/README.md
|
162
|
+
- samples/external_library/java_processing/custom/Rakefile
|
163
|
+
- samples/external_library/java_processing/custom/landscape.rb
|
164
|
+
- samples/external_library/java_processing/custom/src/nn/Connection.java
|
165
|
+
- samples/external_library/java_processing/custom/src/nn/HiddenNeuron.java
|
166
|
+
- samples/external_library/java_processing/custom/src/nn/InputNeuron.java
|
167
|
+
- samples/external_library/java_processing/custom/src/nn/Network.java
|
168
|
+
- samples/external_library/java_processing/custom/src/nn/Neuron.java
|
169
|
+
- samples/external_library/java_processing/custom/src/nn/OutputNeuron.java
|
170
|
+
- samples/external_library/java_processing/custom/xor.rb
|
155
171
|
- samples/external_library/java_processing/fisica/README
|
156
172
|
- samples/external_library/java_processing/fisica/bubbles.rb
|
157
173
|
- samples/external_library/java_processing/fisica/joints.rb
|
@@ -174,19 +190,6 @@ files:
|
|
174
190
|
- samples/external_library/java_processing/hemesh/library/vbo/mesh_to_vbo.rb~
|
175
191
|
- samples/external_library/java_processing/hemesh/twin_iso.rb
|
176
192
|
- samples/external_library/java_processing/hemesh/twin_iso.rb~
|
177
|
-
- samples/external_library/java_processing/pbox2d/bumpy_surface_noise.rb
|
178
|
-
- samples/external_library/java_processing/pbox2d/contact_test.rb
|
179
|
-
- samples/external_library/java_processing/pbox2d/contact_test.rb~
|
180
|
-
- samples/external_library/java_processing/pbox2d/data/java_args.txt
|
181
|
-
- samples/external_library/java_processing/pbox2d/library/custom_shape/custom_shape.rb
|
182
|
-
- samples/external_library/java_processing/pbox2d/library/custom_shape/custom_shape.rb~
|
183
|
-
- samples/external_library/java_processing/pbox2d/library/particle_system/particle_system.rb
|
184
|
-
- samples/external_library/java_processing/pbox2d/library/particle_system/particle_system.rb~
|
185
|
-
- samples/external_library/java_processing/pbox2d/library/surface/surface.rb
|
186
|
-
- samples/external_library/java_processing/pbox2d/library/surface/surface.rb~
|
187
|
-
- samples/external_library/java_processing/pbox2d/liquidy.rb
|
188
|
-
- samples/external_library/java_processing/pbox2d/liquidy.rb~
|
189
|
-
- samples/external_library/java_processing/pbox2d/polygons.rb
|
190
193
|
- samples/external_library/java_processing/peasy_cam/hello_peasy.rb
|
191
194
|
- samples/external_library/java_processing/peasy_cam/hilbert_fractal.rb
|
192
195
|
- samples/external_library/java_processing/peasy_cam/library/hilbert/hilbert.rb
|
@@ -202,7 +205,9 @@ files:
|
|
202
205
|
- samples/external_library/java_processing/toxiclibs/model_align.rb
|
203
206
|
- samples/external_library/ruby_gem/README
|
204
207
|
- samples/external_library/ruby_gem/data/README.txt
|
208
|
+
- samples/external_library/ruby_gem/data/data.json
|
205
209
|
- samples/external_library/ruby_gem/data/java_args.txt
|
210
|
+
- samples/external_library/ruby_gem/draw_test.rb
|
206
211
|
- samples/external_library/ruby_gem/game_of_life.rb
|
207
212
|
- samples/external_library/ruby_gem/mdarray_test.rb
|
208
213
|
- samples/processing_app/ABOUT
|
@@ -237,9 +242,8 @@ files:
|
|
237
242
|
- samples/processing_app/basics/form/bezier_ellipse.rb
|
238
243
|
- samples/processing_app/basics/form/brick_tower.rb
|
239
244
|
- samples/processing_app/basics/form/cubic_grid.rb
|
240
|
-
- samples/processing_app/basics/form/icosahedra
|
241
|
-
- samples/processing_app/basics/form/
|
242
|
-
- samples/processing_app/basics/form/icosahedra/shape_3D.rb
|
245
|
+
- samples/processing_app/basics/form/icosahedra.rb
|
246
|
+
- samples/processing_app/basics/form/library/icosahedron/icosahedron.rb
|
243
247
|
- samples/processing_app/basics/form/pie_chart.rb
|
244
248
|
- samples/processing_app/basics/form/points_lines.rb
|
245
249
|
- samples/processing_app/basics/form/primitives.rb
|
@@ -426,6 +430,7 @@ files:
|
|
426
430
|
- samples/processing_app/library/vecmath/retained_menger.rb
|
427
431
|
- samples/processing_app/library/vecmath/retained_test.rb
|
428
432
|
- samples/processing_app/library/vecmath/retained_test2.rb
|
433
|
+
- samples/processing_app/library/vecmath/seeking_neural.rb
|
429
434
|
- samples/processing_app/library/vecmath/simple_particle_system.rb
|
430
435
|
- samples/processing_app/library/vecmath/smoke_particle_system.rb
|
431
436
|
- samples/processing_app/library/vecmath/vector_math.rb
|
@@ -863,7 +868,7 @@ requirements:
|
|
863
868
|
- java runtime >= 1.6+
|
864
869
|
- processing = 2.0.3+
|
865
870
|
rubyforge_project:
|
866
|
-
rubygems_version: 2.2.
|
871
|
+
rubygems_version: 2.2.2
|
867
872
|
signing_key:
|
868
873
|
specification_version: 4
|
869
874
|
summary: Code as Art, Art as Code. Processing and Ruby are meant for each other.
|
data/samples/contributed/pong.rb
DELETED
@@ -1,177 +0,0 @@
|
|
1
|
-
# Simple pong clone to demonstrate keyboard input and basic collision detection
|
2
|
-
# Left paddle is controlled with 'a' and 'z', right with ''' and '/'
|
3
|
-
|
4
|
-
def setup
|
5
|
-
size 800, 400
|
6
|
-
ellipse_mode(CENTER)
|
7
|
-
no_fill
|
8
|
-
stroke(255)
|
9
|
-
frame_rate(60)
|
10
|
-
@left_paddle = Paddle.new(width / 4, height / 2)
|
11
|
-
@right_paddle = Paddle.new(width / 4 * 3, height / 2)
|
12
|
-
@ball = Ball.new(width / 2, height / 2)
|
13
|
-
end
|
14
|
-
|
15
|
-
def draw
|
16
|
-
background(0)
|
17
|
-
|
18
|
-
paddles.each { |paddle| paddle.update }
|
19
|
-
|
20
|
-
@ball.collide_with_boundaries
|
21
|
-
paddles.each { |paddle| @ball.collide_with_paddle(paddle) }
|
22
|
-
@ball.move
|
23
|
-
|
24
|
-
paddles.each { |paddle| paddle.draw }
|
25
|
-
@ball.draw
|
26
|
-
end
|
27
|
-
|
28
|
-
def paddles
|
29
|
-
return @left_paddle, @right_paddle
|
30
|
-
end
|
31
|
-
|
32
|
-
def key_pressed
|
33
|
-
case key
|
34
|
-
when 'a' then @left_paddle.direction = -1
|
35
|
-
when 'z' then @left_paddle.direction = 1
|
36
|
-
when '\'' then @right_paddle.direction = -1
|
37
|
-
when '/' then @right_paddle.direction = 1
|
38
|
-
end
|
39
|
-
end
|
40
|
-
|
41
|
-
def key_released
|
42
|
-
case key
|
43
|
-
when 'a', 'z' then @left_paddle.direction = 0
|
44
|
-
when '\'', '/' then @right_paddle.direction = 0
|
45
|
-
end
|
46
|
-
end
|
47
|
-
|
48
|
-
class Paddle
|
49
|
-
attr_accessor :position, :radius, :direction, :width, :height, :speed
|
50
|
-
|
51
|
-
def initialize(x, y)
|
52
|
-
@width, @height = $app.width, $app.height
|
53
|
-
@position = Vector.new(x, y)
|
54
|
-
@radius = 20
|
55
|
-
@direction = 0
|
56
|
-
@speed = 2
|
57
|
-
end
|
58
|
-
|
59
|
-
def draw
|
60
|
-
stroke_weight(2)
|
61
|
-
ellipse(position.x, position.y, radius * 2, radius * 2)
|
62
|
-
end
|
63
|
-
|
64
|
-
def update
|
65
|
-
move
|
66
|
-
collide_with_boundaries
|
67
|
-
end
|
68
|
-
|
69
|
-
def move
|
70
|
-
@position.y += direction * speed
|
71
|
-
end
|
72
|
-
|
73
|
-
def collide_with_boundaries
|
74
|
-
@position.y = position.y < radius ? radius : position.y > height - radius ? height - radius : position.y
|
75
|
-
end
|
76
|
-
end
|
77
|
-
|
78
|
-
class Ball
|
79
|
-
attr_accessor :position, :velocity, :radius, :width, :height
|
80
|
-
|
81
|
-
def initialize(x, y)
|
82
|
-
@width, @height = $app.width, $app.height
|
83
|
-
@position = Vector.new(x, y)
|
84
|
-
@velocity = Vector.new(2, 0)
|
85
|
-
@radius = 5
|
86
|
-
end
|
87
|
-
|
88
|
-
def draw
|
89
|
-
stroke_weight(1)
|
90
|
-
ellipse(position.x, position.y, radius * 2, radius * 2)
|
91
|
-
end
|
92
|
-
|
93
|
-
def move
|
94
|
-
@position += velocity
|
95
|
-
end
|
96
|
-
|
97
|
-
def collide_with_boundaries
|
98
|
-
if position.x <= radius || position.x >= width - radius
|
99
|
-
velocity.x *= -1
|
100
|
-
elsif position.y <= radius || position.y >= height - radius
|
101
|
-
velocity.y *= -1
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
def collide_with_paddle(paddle)
|
106
|
-
# Check for collision
|
107
|
-
distance_vector = position - paddle.position
|
108
|
-
return unless distance_vector.squared_length <= (radius + paddle.radius) ** 2
|
109
|
-
|
110
|
-
# Calculate new velocity
|
111
|
-
normal = distance_vector.normal.normalized
|
112
|
-
@velocity = normal * (velocity * normal) * 2 - velocity
|
113
|
-
|
114
|
-
# Move ball to correct position
|
115
|
-
@position = paddle.position + distance_vector.normalized * (2 * (radius + paddle.radius) - distance_vector.length)
|
116
|
-
end
|
117
|
-
end
|
118
|
-
|
119
|
-
|
120
|
-
#####################################################################
|
121
|
-
# Vector class only for illustration you could use PVector instead
|
122
|
-
#####################################################################
|
123
|
-
class Vector
|
124
|
-
attr_accessor :x, :y
|
125
|
-
|
126
|
-
def initialize(x, y)
|
127
|
-
@x, @y = x, y
|
128
|
-
end
|
129
|
-
|
130
|
-
def +(other)
|
131
|
-
if other.is_a?(Numeric)
|
132
|
-
Vector.new(x + other, y + other)
|
133
|
-
elsif other.is_a?(Vector)
|
134
|
-
Vector.new(x + other.x, y + other.y)
|
135
|
-
else
|
136
|
-
self
|
137
|
-
end
|
138
|
-
end
|
139
|
-
|
140
|
-
def -(other)
|
141
|
-
if other.is_a?(Numeric)
|
142
|
-
Vector.new(x - other, y - other)
|
143
|
-
elsif other.is_a?(Vector)
|
144
|
-
Vector.new(x - other.x, y - other.y)
|
145
|
-
else
|
146
|
-
self
|
147
|
-
end
|
148
|
-
end
|
149
|
-
|
150
|
-
def *(other)
|
151
|
-
if other.is_a?(Numeric)
|
152
|
-
Vector.new(x * other, y * other)
|
153
|
-
elsif other.is_a?(Vector)
|
154
|
-
x * other.x + y * other.y
|
155
|
-
else
|
156
|
-
self
|
157
|
-
end
|
158
|
-
end
|
159
|
-
|
160
|
-
def length
|
161
|
-
sqrt(x * x + y * y)
|
162
|
-
end
|
163
|
-
|
164
|
-
def squared_length
|
165
|
-
x * x + y * y
|
166
|
-
end
|
167
|
-
|
168
|
-
def normal
|
169
|
-
Vector.new(-y, x)
|
170
|
-
end
|
171
|
-
|
172
|
-
def normalized
|
173
|
-
length = self.length
|
174
|
-
Vector.new(x / length, y / length)
|
175
|
-
end
|
176
|
-
end
|
177
|
-
|
@@ -1,44 +0,0 @@
|
|
1
|
-
|
2
|
-
def setup
|
3
|
-
|
4
|
-
# With Processing, buffers allow you to draw off-screen to an image,
|
5
|
-
# and then use that image in your sketch. This can speed up rendering
|
6
|
-
# times quite a bit, as it's not only faster to draw off-screen, but
|
7
|
-
# it also allows you to redraw only portions of the screen.
|
8
|
-
|
9
|
-
# Ruby-Processing provides a convenience method, "buffer", which
|
10
|
-
# sets up a buffer for you with the same width and height and
|
11
|
-
# renderer as the current sketch, and yields it to you. It also
|
12
|
-
# takes care of calling begin_draw and end_draw at the start and
|
13
|
-
# end of the block. Use it like so:
|
14
|
-
size 800, 800, P2D
|
15
|
-
@buffer = buffer do |b|
|
16
|
-
b.no_stroke
|
17
|
-
b.fill 255, 0, 0
|
18
|
-
b.rect 100, 200, 100, 100
|
19
|
-
end
|
20
|
-
|
21
|
-
# Those lines are equivalent to the following lines:
|
22
|
-
|
23
|
-
@buffer_2 = create_graphics(500, 500, P2D)
|
24
|
-
@buffer_2.begin_draw
|
25
|
-
@buffer_2.no_stroke
|
26
|
-
@buffer_2.fill(255, 0, 0)
|
27
|
-
@buffer_2.rect(100, 200, 100, 100)
|
28
|
-
@buffer_2.end_draw
|
29
|
-
|
30
|
-
# If you'd like to set the size or renderer for the buffer block,
|
31
|
-
# just pass it in like normal:
|
32
|
-
|
33
|
-
@buffer_3 = buffer(150, 150, P2D) do |b|
|
34
|
-
# b.whatever goes here.
|
35
|
-
end
|
36
|
-
|
37
|
-
# And now we go ahead and grab the rendered image from the first buffer.
|
38
|
-
@img = @buffer.get(0, 0, @buffer.width, @buffer.height)
|
39
|
-
end
|
40
|
-
|
41
|
-
def draw
|
42
|
-
background 0
|
43
|
-
image @img, frame_count, 0
|
44
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
load_library 'jbox2d'
|
2
|
-
require 'jruby/core_ext'
|
3
|
-
class JContactListener
|
4
|
-
include org.jbox2d.callbacks.ContactListener
|
5
|
-
|
6
|
-
def initialize()
|
7
|
-
end
|
8
|
-
java_signature "void beginContact(org.jbox2d.dynamics.contacts.Contact c)"
|
9
|
-
def begin_contact(c)
|
10
|
-
end
|
11
|
-
java_signature "void endContact(org.jbox2d.dynamics.contacts.Contact c)"
|
12
|
-
def end_contact(c)
|
13
|
-
end
|
14
|
-
java_signature "void beginContact(org.jbox2d.dynamics.contacts.Contact,org.jbox2d.callbacks.ContactImpulse )"
|
15
|
-
def pre_solve(c, ci)
|
16
|
-
end
|
17
|
-
java_signature "void beginContact(org.jbox2d.dynamics.contacts.Contact,org.jbox2d.callbacks.ContactImpulse )"
|
18
|
-
def post_solve(c, ci)
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
|
23
|
-
|
@@ -1,72 +0,0 @@
|
|
1
|
-
# I Like Icosahedra
|
2
|
-
# by Ira Greenberg.
|
3
|
-
#
|
4
|
-
# This example plots icosahedra. The Icosahdron is a regular
|
5
|
-
# polyhedron composed of twenty equalateral triangles.
|
6
|
-
|
7
|
-
# fjenett, 2010-03-11:
|
8
|
-
# This is by far not an exact translation of Iras code. I removed
|
9
|
-
# the unneeded Dimension3D class, simplyfied Shape3D and improved
|
10
|
-
# the Icosahedron class. That and the rubyfication ...
|
11
|
-
require './icosahedron' # load icosahedron.rb
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
def setup
|
16
|
-
|
17
|
-
size 640, 360, P3D
|
18
|
-
|
19
|
-
@ico1 = Icosahedron.new 75
|
20
|
-
@ico2 = Icosahedron.new 75
|
21
|
-
@ico3 = Icosahedron.new 75
|
22
|
-
|
23
|
-
end
|
24
|
-
|
25
|
-
def draw
|
26
|
-
|
27
|
-
background 0
|
28
|
-
lights
|
29
|
-
|
30
|
-
translate width/2, height/2
|
31
|
-
|
32
|
-
push_matrix
|
33
|
-
|
34
|
-
translate -width/3.5, 0
|
35
|
-
rotate_x frame_count * PI / 185
|
36
|
-
rotate_y frame_count * PI / -200
|
37
|
-
|
38
|
-
stroke 170, 0, 0
|
39
|
-
no_fill
|
40
|
-
|
41
|
-
@ico1.draw
|
42
|
-
|
43
|
-
pop_matrix
|
44
|
-
|
45
|
-
push_matrix
|
46
|
-
|
47
|
-
rotate_x frame_count * PI / 200
|
48
|
-
rotate_y frame_count * PI / 300
|
49
|
-
|
50
|
-
stroke 170, 0, 180
|
51
|
-
fill 170, 170, 0
|
52
|
-
|
53
|
-
@ico2.draw
|
54
|
-
|
55
|
-
pop_matrix
|
56
|
-
|
57
|
-
push_matrix
|
58
|
-
|
59
|
-
translate width/3.5, 0
|
60
|
-
rotate_x frame_count * PI / -200
|
61
|
-
rotate_y frame_count * PI / 200
|
62
|
-
|
63
|
-
no_stroke
|
64
|
-
fill 0, 0, 185
|
65
|
-
|
66
|
-
@ico3.draw
|
67
|
-
|
68
|
-
pop_matrix
|
69
|
-
|
70
|
-
end
|
71
|
-
|
72
|
-
|