ruby-processing 2.6.3 → 2.6.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.
Files changed (742) hide show
  1. checksums.yaml +4 -4
  2. data/lib/rpextras.jar +0 -0
  3. data/lib/ruby-processing/app.rb +56 -48
  4. data/lib/ruby-processing/helper_methods.rb +11 -12
  5. data/lib/ruby-processing/library_loader.rb +19 -10
  6. data/lib/ruby-processing/runner.rb +49 -36
  7. data/lib/ruby-processing/version.rb +1 -1
  8. data/lib/templates/application/run.erb +3 -0
  9. data/library/boids/boids.rb +36 -32
  10. data/vendors/Rakefile +36 -7
  11. metadata +3 -734
  12. data/samples/Rakefile +0 -21
  13. data/samples/configRP5/configRP5.pde +0 -147
  14. data/samples/contributed/Rakefile +0 -30
  15. data/samples/contributed/animator.rb +0 -48
  16. data/samples/contributed/bezier_playground.rb +0 -204
  17. data/samples/contributed/circle_collision.rb +0 -129
  18. data/samples/contributed/drawolver.rb +0 -96
  19. data/samples/contributed/elegant_ball.rb +0 -165
  20. data/samples/contributed/empathy.rb +0 -78
  21. data/samples/contributed/fern.rb +0 -51
  22. data/samples/contributed/fibonacci_sphere.rb +0 -86
  23. data/samples/contributed/flight_patterns.rb +0 -63
  24. data/samples/contributed/full_screen.rb +0 -29
  25. data/samples/contributed/getting_started.rb +0 -24
  26. data/samples/contributed/grapher.rb +0 -36
  27. data/samples/contributed/gravity.rb +0 -106
  28. data/samples/contributed/jwishy.rb +0 -95
  29. data/samples/contributed/mandelbrot.rb +0 -79
  30. data/samples/contributed/orbit.rb +0 -41
  31. data/samples/contributed/quadraticvertex.rb +0 -106
  32. data/samples/contributed/re_sample.rb +0 -27
  33. data/samples/contributed/reflection.rb +0 -17
  34. data/samples/contributed/tree.rb +0 -72
  35. data/samples/external_library/java_processing/README +0 -3
  36. data/samples/external_library/java_processing/box2d_processing/bumpy_surface_noise.rb +0 -52
  37. data/samples/external_library/java_processing/box2d_processing/data/java_args.txt +0 -2
  38. data/samples/external_library/java_processing/box2d_processing/library/custom_shape/custom_shape.rb +0 -158
  39. data/samples/external_library/java_processing/box2d_processing/library/particle_system/particle_system.rb +0 -209
  40. data/samples/external_library/java_processing/box2d_processing/library/surface/surface.rb +0 -154
  41. data/samples/external_library/java_processing/box2d_processing/liquidy.rb +0 -58
  42. data/samples/external_library/java_processing/box2d_processing/polygons.rb +0 -53
  43. data/samples/external_library/java_processing/custom/README.md +0 -16
  44. data/samples/external_library/java_processing/custom/Rakefile +0 -22
  45. data/samples/external_library/java_processing/custom/ext/nn/Connection.java +0 -47
  46. data/samples/external_library/java_processing/custom/ext/nn/HiddenNeuron.java +0 -20
  47. data/samples/external_library/java_processing/custom/ext/nn/InputNeuron.java +0 -23
  48. data/samples/external_library/java_processing/custom/ext/nn/Network.java +0 -136
  49. data/samples/external_library/java_processing/custom/ext/nn/Neuron.java +0 -79
  50. data/samples/external_library/java_processing/custom/ext/nn/OutputNeuron.java +0 -7
  51. data/samples/external_library/java_processing/custom/landscape.rb +0 -60
  52. data/samples/external_library/java_processing/custom/xor.rb +0 -88
  53. data/samples/external_library/java_processing/fisica/README +0 -1
  54. data/samples/external_library/java_processing/fisica/bubbles.rb +0 -80
  55. data/samples/external_library/java_processing/fisica/joints.rb +0 -112
  56. data/samples/external_library/java_processing/fisica/polygons.rb +0 -79
  57. data/samples/external_library/java_processing/fisica/raycast.rb +0 -61
  58. data/samples/external_library/java_processing/generative_design/mesh_example.rb +0 -25
  59. data/samples/external_library/java_processing/generative_design/node_spring_attractor.rb +0 -83
  60. data/samples/external_library/java_processing/generative_design/sub_class_example.rb +0 -44
  61. data/samples/external_library/java_processing/geomerative/data/FreeSans.ttf +0 -0
  62. data/samples/external_library/java_processing/geomerative/data/Toucan.svg +0 -43
  63. data/samples/external_library/java_processing/geomerative/hello_bot_ignore_styles.rb +0 -38
  64. data/samples/external_library/java_processing/geomerative/hello_world_rotate_firstletter.rb +0 -43
  65. data/samples/external_library/java_processing/geomerative/hola_mundo.rb +0 -37
  66. data/samples/external_library/java_processing/grafica/data/OktoberfestVSGermanElections.csv +0 -118
  67. data/samples/external_library/java_processing/grafica/default_plot.rb +0 -30
  68. data/samples/external_library/java_processing/grafica/multiple_panels.rb +0 -117
  69. data/samples/external_library/java_processing/grafica/oktoberfest_example.rb +0 -83
  70. data/samples/external_library/java_processing/guido/slider.rb +0 -54
  71. data/samples/external_library/java_processing/hemesh/data/java_args.txt +0 -2
  72. data/samples/external_library/java_processing/hemesh/library/vbo/mesh_to_vbo.rb +0 -43
  73. data/samples/external_library/java_processing/hemesh/twin_iso.rb +0 -69
  74. data/samples/external_library/java_processing/pbox2d/bumpy_surface_noise.rb +0 -57
  75. data/samples/external_library/java_processing/pbox2d/contact_test.rb +0 -23
  76. data/samples/external_library/java_processing/pbox2d/data/java_args.txt +0 -2
  77. data/samples/external_library/java_processing/pbox2d/library/custom_shape/custom_shape.rb +0 -158
  78. data/samples/external_library/java_processing/pbox2d/library/particle_system/particle_system.rb +0 -212
  79. data/samples/external_library/java_processing/pbox2d/library/surface/surface.rb +0 -154
  80. data/samples/external_library/java_processing/pbox2d/liquidy.rb +0 -58
  81. data/samples/external_library/java_processing/pbox2d/polygons.rb +0 -58
  82. data/samples/external_library/java_processing/peasy_cam/hello_peasy.rb +0 -29
  83. data/samples/external_library/java_processing/peasy_cam/hilbert_fractal.rb +0 -34
  84. data/samples/external_library/java_processing/peasy_cam/library/hilbert/hilbert.rb +0 -100
  85. data/samples/external_library/java_processing/proscene/cad_camera.rb +0 -57
  86. data/samples/external_library/java_processing/proscene/camera_customization.rb +0 -114
  87. data/samples/external_library/java_processing/proscene/data/ti_yong.png +0 -0
  88. data/samples/external_library/java_processing/toxiclibs/data/ti_yong.png +0 -0
  89. data/samples/external_library/java_processing/toxiclibs/gray_scott_image.rb +0 -79
  90. data/samples/external_library/java_processing/toxiclibs/gray_scott_tone_map.rb +0 -78
  91. data/samples/external_library/java_processing/toxiclibs/implicit.rb +0 -143
  92. data/samples/external_library/java_processing/toxiclibs/library/vbo/mesh_to_vbo.rb +0 -52
  93. data/samples/external_library/java_processing/toxiclibs/library/vbo/vbo.rb +0 -52
  94. data/samples/external_library/java_processing/toxiclibs/model_align.rb +0 -48
  95. data/samples/external_library/ruby_gem/README +0 -12
  96. data/samples/external_library/ruby_gem/data/README.txt +0 -1
  97. data/samples/external_library/ruby_gem/data/data.json +0 -8
  98. data/samples/external_library/ruby_gem/data/java_args.txt +0 -2
  99. data/samples/external_library/ruby_gem/draw_test.rb +0 -171
  100. data/samples/external_library/ruby_gem/game_of_life.rb +0 -127
  101. data/samples/external_library/ruby_gem/mdarray_test.rb +0 -28
  102. data/samples/processing_app/ABOUT +0 -3
  103. data/samples/processing_app/basics/arrays/array.rb +0 -35
  104. data/samples/processing_app/basics/arrays/array_2d.rb +0 -32
  105. data/samples/processing_app/basics/arrays/array_objects.rb +0 -62
  106. data/samples/processing_app/basics/camera/move_eye.rb +0 -24
  107. data/samples/processing_app/basics/camera/perspective.rb +0 -36
  108. data/samples/processing_app/basics/color/blend_color.rb +0 -17
  109. data/samples/processing_app/basics/color/brightness.rb +0 -24
  110. data/samples/processing_app/basics/color/color_wheel.rb +0 -90
  111. data/samples/processing_app/basics/color/creating.rb +0 -48
  112. data/samples/processing_app/basics/color/hue.rb +0 -23
  113. data/samples/processing_app/basics/color/linear_gradient.rb +0 -42
  114. data/samples/processing_app/basics/color/radial_gradient.rb +0 -44
  115. data/samples/processing_app/basics/color/reading/data/cait.jpg +0 -0
  116. data/samples/processing_app/basics/color/reading/reading.rb +0 -29
  117. data/samples/processing_app/basics/color/relativity.rb +0 -25
  118. data/samples/processing_app/basics/color/saturation.rb +0 -24
  119. data/samples/processing_app/basics/color/wave_gradient.rb +0 -34
  120. data/samples/processing_app/basics/control/conditionals1.rb +0 -27
  121. data/samples/processing_app/basics/control/conditionals2.rb +0 -39
  122. data/samples/processing_app/basics/control/embedded_iteration.rb +0 -34
  123. data/samples/processing_app/basics/control/iteration.rb +0 -50
  124. data/samples/processing_app/basics/control/logical_operators.rb +0 -56
  125. data/samples/processing_app/basics/data/characters_strings.rb +0 -50
  126. data/samples/processing_app/basics/data/datatype_conversion.rb +0 -41
  127. data/samples/processing_app/basics/data/integers_floats.rb +0 -28
  128. data/samples/processing_app/basics/data/true_false.rb +0 -31
  129. data/samples/processing_app/basics/data/variable_scope.rb +0 -74
  130. data/samples/processing_app/basics/data/variables.rb +0 -35
  131. data/samples/processing_app/basics/form/bezier.rb +0 -20
  132. data/samples/processing_app/basics/form/bezier_ellipse.rb +0 -99
  133. data/samples/processing_app/basics/form/brick_tower.rb +0 -89
  134. data/samples/processing_app/basics/form/cubic_grid.rb +0 -39
  135. data/samples/processing_app/basics/form/icosahedra.rb +0 -39
  136. data/samples/processing_app/basics/form/library/icosahedron/icosahedron.rb +0 -60
  137. data/samples/processing_app/basics/form/pie_chart.rb +0 -27
  138. data/samples/processing_app/basics/form/points_lines.rb +0 -32
  139. data/samples/processing_app/basics/form/primitives.rb +0 -28
  140. data/samples/processing_app/basics/form/regular_polygon.rb +0 -46
  141. data/samples/processing_app/basics/form/rgb_cube.rb +0 -68
  142. data/samples/processing_app/basics/form/shape_primitives.rb +0 -23
  143. data/samples/processing_app/basics/form/shape_transform.rb +0 -83
  144. data/samples/processing_app/basics/form/star.rb +0 -48
  145. data/samples/processing_app/basics/form/toroid.rb +0 -108
  146. data/samples/processing_app/basics/form/triangle_strip.rb +0 -39
  147. data/samples/processing_app/basics/form/vertices.rb +0 -47
  148. data/samples/processing_app/basics/image/alphamask.rb +0 -17
  149. data/samples/processing_app/basics/image/background_image.rb +0 -24
  150. data/samples/processing_app/basics/image/create_image.rb +0 -17
  151. data/samples/processing_app/basics/image/data/construct.jpg +0 -0
  152. data/samples/processing_app/basics/image/data/eames.jpg +0 -0
  153. data/samples/processing_app/basics/image/data/jelly.jpg +0 -0
  154. data/samples/processing_app/basics/image/data/mask.jpg +0 -0
  155. data/samples/processing_app/basics/image/data/milan_rubbish.jpg +0 -0
  156. data/samples/processing_app/basics/image/data/teddy.gif +0 -0
  157. data/samples/processing_app/basics/image/data/test.jpg +0 -0
  158. data/samples/processing_app/basics/image/data/wash.jpg +0 -0
  159. data/samples/processing_app/basics/image/data/ystone08.jpg +0 -0
  160. data/samples/processing_app/basics/image/extrusion.rb +0 -46
  161. data/samples/processing_app/basics/image/load_display_image.rb +0 -18
  162. data/samples/processing_app/basics/image/pointillism.rb +0 -24
  163. data/samples/processing_app/basics/image/request_image.rb +0 -62
  164. data/samples/processing_app/basics/image/sprite.rb +0 -32
  165. data/samples/processing_app/basics/image/transparency.rb +0 -21
  166. data/samples/processing_app/basics/image/zoom.rb +0 -59
  167. data/samples/processing_app/basics/input/clock.rb +0 -46
  168. data/samples/processing_app/basics/input/constrain.rb +0 -33
  169. data/samples/processing_app/basics/input/easing.rb +0 -31
  170. data/samples/processing_app/basics/input/keyboard.rb +0 -24
  171. data/samples/processing_app/basics/input/keyboard_functions.rb +0 -59
  172. data/samples/processing_app/basics/input/milliseconds.rb +0 -20
  173. data/samples/processing_app/basics/input/mouse_1d.rb +0 -27
  174. data/samples/processing_app/basics/input/mouse_2d.rb +0 -19
  175. data/samples/processing_app/basics/input/mouse_functions.rb +0 -68
  176. data/samples/processing_app/basics/input/mouse_press.rb +0 -15
  177. data/samples/processing_app/basics/input/mouse_signals.rb +0 -40
  178. data/samples/processing_app/basics/input/storing_input.rb +0 -38
  179. data/samples/processing_app/basics/lights/directional.rb +0 -37
  180. data/samples/processing_app/basics/lights/lights1.rb +0 -35
  181. data/samples/processing_app/basics/lights/lights2.rb +0 -38
  182. data/samples/processing_app/basics/lights/reflection.rb +0 -35
  183. data/samples/processing_app/basics/lights/spot.rb +0 -36
  184. data/samples/processing_app/basics/math/additive_wave.rb +0 -64
  185. data/samples/processing_app/basics/math/arctangent.rb +0 -44
  186. data/samples/processing_app/basics/math/distance1.rb +0 -53
  187. data/samples/processing_app/basics/math/distance2.rb +0 -22
  188. data/samples/processing_app/basics/math/double_random.rb +0 -31
  189. data/samples/processing_app/basics/math/graphing_2_d_equation.rb +0 -39
  190. data/samples/processing_app/basics/math/increment_decrement.rb +0 -54
  191. data/samples/processing_app/basics/math/interpolate.rb +0 -34
  192. data/samples/processing_app/basics/math/modulo.rb +0 -39
  193. data/samples/processing_app/basics/math/noise_1_d.rb +0 -21
  194. data/samples/processing_app/basics/math/noise_2_d.rb +0 -30
  195. data/samples/processing_app/basics/math/noise_3_d.rb +0 -30
  196. data/samples/processing_app/basics/math/noise_wave.rb +0 -41
  197. data/samples/processing_app/basics/math/operator_precedence.rb +0 -49
  198. data/samples/processing_app/basics/math/polar_to_cartesian.rb +0 -31
  199. data/samples/processing_app/basics/math/random.rb +0 -21
  200. data/samples/processing_app/basics/math/random_gaussian.rb +0 -23
  201. data/samples/processing_app/basics/math/sine.rb +0 -35
  202. data/samples/processing_app/basics/math/sine_cosine.rb +0 -48
  203. data/samples/processing_app/basics/math/sine_wave.rb +0 -43
  204. data/samples/processing_app/basics/objects/composite_objects.rb +0 -113
  205. data/samples/processing_app/basics/objects/inheritance.rb +0 -84
  206. data/samples/processing_app/basics/objects/inheritance_two.rb +0 -88
  207. data/samples/processing_app/basics/objects/module.rb +0 -89
  208. data/samples/processing_app/basics/objects/module_two.rb +0 -111
  209. data/samples/processing_app/basics/objects/multiple_constructors.rb +0 -58
  210. data/samples/processing_app/basics/objects/objects.rb +0 -57
  211. data/samples/processing_app/basics/objects/struct.rb +0 -38
  212. data/samples/processing_app/basics/shape/data/bot1.svg +0 -160
  213. data/samples/processing_app/basics/shape/data/rocket.mtl +0 -8
  214. data/samples/processing_app/basics/shape/data/rocket.obj +0 -1688
  215. data/samples/processing_app/basics/shape/data/rocket.png +0 -0
  216. data/samples/processing_app/basics/shape/data/usa-wikipedia.svg +0 -452
  217. data/samples/processing_app/basics/shape/disable_style.rb +0 -32
  218. data/samples/processing_app/basics/shape/get_child.rb +0 -40
  219. data/samples/processing_app/basics/shape/load_display_obj.rb +0 -25
  220. data/samples/processing_app/basics/shape/load_display_shape.rb +0 -20
  221. data/samples/processing_app/basics/shape/load_display_svg.rb +0 -22
  222. data/samples/processing_app/basics/shape/scale_shape.rb +0 -23
  223. data/samples/processing_app/basics/structure/coordinates.rb +0 -42
  224. data/samples/processing_app/basics/structure/create_graphics.rb +0 -29
  225. data/samples/processing_app/basics/structure/functions.rb +0 -29
  226. data/samples/processing_app/basics/structure/loop.rb +0 -30
  227. data/samples/processing_app/basics/structure/noloop.rb +0 -21
  228. data/samples/processing_app/basics/structure/recursion1.rb +0 -27
  229. data/samples/processing_app/basics/structure/recursion2.rb +0 -23
  230. data/samples/processing_app/basics/structure/redraw.rb +0 -25
  231. data/samples/processing_app/basics/structure/setup_draw.rb +0 -19
  232. data/samples/processing_app/basics/structure/statements_comments.rb +0 -26
  233. data/samples/processing_app/basics/structure/width_height.rb +0 -22
  234. data/samples/processing_app/basics/textures/data/berlin-1.jpg +0 -0
  235. data/samples/processing_app/basics/textures/texture1.rb +0 -28
  236. data/samples/processing_app/basics/textures/texture2.rb +0 -33
  237. data/samples/processing_app/basics/textures/texture3.rb +0 -44
  238. data/samples/processing_app/basics/textures/texture_cube.rb +0 -86
  239. data/samples/processing_app/basics/transform/arm.rb +0 -32
  240. data/samples/processing_app/basics/transform/bird.rb +0 -57
  241. data/samples/processing_app/basics/transform/birds.rb +0 -29
  242. data/samples/processing_app/basics/transform/cubes_in_cube.rb +0 -102
  243. data/samples/processing_app/basics/transform/library/bird/bird.rb +0 -87
  244. data/samples/processing_app/basics/transform/library/cube/cube.rb +0 -55
  245. data/samples/processing_app/basics/transform/rotate.rb +0 -34
  246. data/samples/processing_app/basics/transform/rotate1.rb +0 -27
  247. data/samples/processing_app/basics/transform/rotate_push_pop.rb +0 -35
  248. data/samples/processing_app/basics/transform/rotate_x_y.rb +0 -36
  249. data/samples/processing_app/basics/transform/scale.rb +0 -29
  250. data/samples/processing_app/basics/transform/translate.rb +0 -27
  251. data/samples/processing_app/basics/transform/triangle_flower.rb +0 -52
  252. data/samples/processing_app/basics/typography/data/CourierNew36.vlw +0 -0
  253. data/samples/processing_app/basics/typography/data/Univers45.vlw +0 -0
  254. data/samples/processing_app/basics/typography/data/Ziggurat-HTF-Black-32.vlw +0 -0
  255. data/samples/processing_app/basics/typography/kinetic_type.rb +0 -76
  256. data/samples/processing_app/basics/typography/letters.rb +0 -34
  257. data/samples/processing_app/basics/typography/words.rb +0 -36
  258. data/samples/processing_app/basics/web/embedded_links.rb +0 -52
  259. data/samples/processing_app/basics/web/loading_images.rb +0 -15
  260. data/samples/processing_app/demos/graphics/bezier_patch.rb +0 -177
  261. data/samples/processing_app/demos/graphics/data/frag.glsl +0 -30
  262. data/samples/processing_app/demos/graphics/data/java_args.txt +0 -2
  263. data/samples/processing_app/demos/graphics/data/mercury.jpg +0 -0
  264. data/samples/processing_app/demos/graphics/data/planet.jpg +0 -0
  265. data/samples/processing_app/demos/graphics/data/starfield.jpg +0 -0
  266. data/samples/processing_app/demos/graphics/data/sun.jpg +0 -0
  267. data/samples/processing_app/demos/graphics/data/vert.glsl +0 -31
  268. data/samples/processing_app/demos/graphics/low_level_gl.rb +0 -72
  269. data/samples/processing_app/demos/graphics/planets.rb +0 -51
  270. data/samples/processing_app/demos/graphics/trefoil.rb +0 -152
  271. data/samples/processing_app/demos/graphics/wiggling.rb +0 -287
  272. data/samples/processing_app/demos/performance/cubic_grid_retained.rb +0 -58
  273. data/samples/processing_app/demos/performance/data/java_args.txt +0 -1
  274. data/samples/processing_app/demos/performance/esfera.rb +0 -93
  275. data/samples/processing_app/demos/performance/text_rendering.rb +0 -14
  276. data/samples/processing_app/demos/tests/no_background_test.rb +0 -10
  277. data/samples/processing_app/demos/tests/offscreen_test.rb +0 -34
  278. data/samples/processing_app/demos/tests/redraw_test.rb +0 -14
  279. data/samples/processing_app/demos/tests/resize_test.rb +0 -10
  280. data/samples/processing_app/demos/tests/restart_test.rb +0 -22
  281. data/samples/processing_app/demos/tests/smooth_test.rb +0 -27
  282. data/samples/processing_app/demos/tests/specs_test.rb +0 -11
  283. data/samples/processing_app/library/dxf/simple_export.rb +0 -48
  284. data/samples/processing_app/library/fastmath/clock.rb +0 -46
  285. data/samples/processing_app/library/file_chooser/image_viewer.rb +0 -23
  286. data/samples/processing_app/library/minim/filter_example.rb +0 -65
  287. data/samples/processing_app/library/minim/frequency_modulation.rb +0 -64
  288. data/samples/processing_app/library/minim/sequence_sound.rb +0 -59
  289. data/samples/processing_app/library/minim/synthesize_sound.rb +0 -35
  290. data/samples/processing_app/library/movie/README +0 -1
  291. data/samples/processing_app/library/movie/data/transit.mkv +0 -0
  292. data/samples/processing_app/library/movie/data/transit.mov +0 -0
  293. data/samples/processing_app/library/movie/loop.rb +0 -24
  294. data/samples/processing_app/library/movie/pixelate.rb +0 -50
  295. data/samples/processing_app/library/movie/reverse.rb +0 -47
  296. data/samples/processing_app/library/movie/scratch.rb +0 -36
  297. data/samples/processing_app/library/movie/speed.rb +0 -33
  298. data/samples/processing_app/library/net/HTTPClient.rb +0 -33
  299. data/samples/processing_app/library/pdf/complex_3D.rb +0 -162
  300. data/samples/processing_app/library/pdf/large_page.rb +0 -25
  301. data/samples/processing_app/library/pdf/many_frames.rb +0 -33
  302. data/samples/processing_app/library/pdf/many_pages.rb +0 -31
  303. data/samples/processing_app/library/pdf/many_pdfs.rb +0 -37
  304. data/samples/processing_app/library/pdf/one_frame.rb +0 -19
  305. data/samples/processing_app/library/vecmath/arcball/Rakefile +0 -30
  306. data/samples/processing_app/library/vecmath/arcball/arcball_box.rb +0 -23
  307. data/samples/processing_app/library/vecmath/arcball/arcball_radius.rb +0 -23
  308. data/samples/processing_app/library/vecmath/arcball/arcball_shape.rb +0 -29
  309. data/samples/processing_app/library/vecmath/vec2d/README.txt +0 -2
  310. data/samples/processing_app/library/vecmath/vec2d/Rakefile +0 -30
  311. data/samples/processing_app/library/vecmath/vec2d/acceleration_with_vectors.rb +0 -74
  312. data/samples/processing_app/library/vecmath/vec2d/bouncing_ball.rb +0 -45
  313. data/samples/processing_app/library/vecmath/vec2d/circle_collision.rb +0 -169
  314. data/samples/processing_app/library/vecmath/vec2d/data/java_args.txt +0 -2
  315. data/samples/processing_app/library/vecmath/vec2d/data/sprite.png +0 -0
  316. data/samples/processing_app/library/vecmath/vec2d/data/texture.png +0 -0
  317. data/samples/processing_app/library/vecmath/vec2d/flocking.rb +0 -30
  318. data/samples/processing_app/library/vecmath/vec2d/library/flock/flock.rb +0 -191
  319. data/samples/processing_app/library/vecmath/vec2d/library/particle/particle.rb +0 -113
  320. data/samples/processing_app/library/vecmath/vec2d/library/tile/tile.rb +0 -85
  321. data/samples/processing_app/library/vecmath/vec2d/morph.rb +0 -87
  322. data/samples/processing_app/library/vecmath/vec2d/particle_system_pshape.rb +0 -36
  323. data/samples/processing_app/library/vecmath/vec2d/penrose.rb +0 -71
  324. data/samples/processing_app/library/vecmath/vec2d/reflection1.rb +0 -108
  325. data/samples/processing_app/library/vecmath/vec2d/seeking_neural.rb +0 -169
  326. data/samples/processing_app/library/vecmath/vec2d/simple_particle_system.rb +0 -85
  327. data/samples/processing_app/library/vecmath/vec2d/vector_math.rb +0 -39
  328. data/samples/processing_app/library/vecmath/vec2d/wiggle_pshape.rb +0 -74
  329. data/samples/processing_app/library/vecmath/vec3d/Rakefile +0 -30
  330. data/samples/processing_app/library/vecmath/vec3d/drawolver.rb +0 -86
  331. data/samples/processing_app/library/vecmath/vec3d/frame_of_reference.rb +0 -103
  332. data/samples/processing_app/library/vecmath/vec3d/hilbert_fractal.rb +0 -37
  333. data/samples/processing_app/library/vecmath/vec3d/library/geometry/geometry.rb +0 -3
  334. data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/cylinder.rb +0 -44
  335. data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/mat4.rb +0 -28
  336. data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/plane.rb +0 -60
  337. data/samples/processing_app/library/vecmath/vec3d/library/hilbert/hilbert.rb +0 -84
  338. data/samples/processing_app/library/vecmath/vec3d/note.txt +0 -1
  339. data/samples/processing_app/library/vecmath/vec3d/retained_menger.rb +0 -115
  340. data/samples/processing_app/topics/advanced_data/README +0 -1
  341. data/samples/processing_app/topics/advanced_data/Rakefile +0 -30
  342. data/samples/processing_app/topics/advanced_data/counting_words.rb +0 -79
  343. data/samples/processing_app/topics/advanced_data/data/Georgia.ttf +0 -0
  344. data/samples/processing_app/topics/advanced_data/data/Merriweather-Light.ttf +0 -0
  345. data/samples/processing_app/topics/advanced_data/data/a000 copy.jpg +0 -0
  346. data/samples/processing_app/topics/advanced_data/data/a001 copy.jpg +0 -0
  347. data/samples/processing_app/topics/advanced_data/data/a002 copy.jpg +0 -0
  348. data/samples/processing_app/topics/advanced_data/data/a003 copy.jpg +0 -0
  349. data/samples/processing_app/topics/advanced_data/data/a004 copy.jpg +0 -0
  350. data/samples/processing_app/topics/advanced_data/data/a005 copy.jpg +0 -0
  351. data/samples/processing_app/topics/advanced_data/data/a006 copy.jpg +0 -0
  352. data/samples/processing_app/topics/advanced_data/data/a007 copy.jpg +0 -0
  353. data/samples/processing_app/topics/advanced_data/data/a008 copy.jpg +0 -0
  354. data/samples/processing_app/topics/advanced_data/data/a009 copy.jpg +0 -0
  355. data/samples/processing_app/topics/advanced_data/data/a010 copy.jpg +0 -0
  356. data/samples/processing_app/topics/advanced_data/data/a011 copy.jpg +0 -0
  357. data/samples/processing_app/topics/advanced_data/data/a012 copy.jpg +0 -0
  358. data/samples/processing_app/topics/advanced_data/data/a013 copy.jpg +0 -0
  359. data/samples/processing_app/topics/advanced_data/data/a014 copy.jpg +0 -0
  360. data/samples/processing_app/topics/advanced_data/data/a015 copy.jpg +0 -0
  361. data/samples/processing_app/topics/advanced_data/data/a016 copy.jpg +0 -0
  362. data/samples/processing_app/topics/advanced_data/data/a017 copy.jpg +0 -0
  363. data/samples/processing_app/topics/advanced_data/data/a018 copy.jpg +0 -0
  364. data/samples/processing_app/topics/advanced_data/data/a019 copy.jpg +0 -0
  365. data/samples/processing_app/topics/advanced_data/data/a020 copy.jpg +0 -0
  366. data/samples/processing_app/topics/advanced_data/data/a021 copy.jpg +0 -0
  367. data/samples/processing_app/topics/advanced_data/data/a022 copy.jpg +0 -0
  368. data/samples/processing_app/topics/advanced_data/data/a023 copy.jpg +0 -0
  369. data/samples/processing_app/topics/advanced_data/data/a024 copy.jpg +0 -0
  370. data/samples/processing_app/topics/advanced_data/data/a025 copy.jpg +0 -0
  371. data/samples/processing_app/topics/advanced_data/data/a026 copy.jpg +0 -0
  372. data/samples/processing_app/topics/advanced_data/data/a027 copy.jpg +0 -0
  373. data/samples/processing_app/topics/advanced_data/data/a028 copy.jpg +0 -0
  374. data/samples/processing_app/topics/advanced_data/data/a029 copy.jpg +0 -0
  375. data/samples/processing_app/topics/advanced_data/data/a030 copy.jpg +0 -0
  376. data/samples/processing_app/topics/advanced_data/data/a031 copy.jpg +0 -0
  377. data/samples/processing_app/topics/advanced_data/data/a032 copy.jpg +0 -0
  378. data/samples/processing_app/topics/advanced_data/data/a033 copy.jpg +0 -0
  379. data/samples/processing_app/topics/advanced_data/data/a034 copy.jpg +0 -0
  380. data/samples/processing_app/topics/advanced_data/data/a035 copy.jpg +0 -0
  381. data/samples/processing_app/topics/advanced_data/data/a036 copy.jpg +0 -0
  382. data/samples/processing_app/topics/advanced_data/data/a037 copy.jpg +0 -0
  383. data/samples/processing_app/topics/advanced_data/data/a038 copy.jpg +0 -0
  384. data/samples/processing_app/topics/advanced_data/data/a039 copy.jpg +0 -0
  385. data/samples/processing_app/topics/advanced_data/data/a040 copy.jpg +0 -0
  386. data/samples/processing_app/topics/advanced_data/data/a041 copy.jpg +0 -0
  387. data/samples/processing_app/topics/advanced_data/data/a042 copy.jpg +0 -0
  388. data/samples/processing_app/topics/advanced_data/data/a043 copy.jpg +0 -0
  389. data/samples/processing_app/topics/advanced_data/data/a044 copy.jpg +0 -0
  390. data/samples/processing_app/topics/advanced_data/data/a045 copy.jpg +0 -0
  391. data/samples/processing_app/topics/advanced_data/data/a046 copy.jpg +0 -0
  392. data/samples/processing_app/topics/advanced_data/data/a047 copy.jpg +0 -0
  393. data/samples/processing_app/topics/advanced_data/data/a048 copy.jpg +0 -0
  394. data/samples/processing_app/topics/advanced_data/data/a049 copy.jpg +0 -0
  395. data/samples/processing_app/topics/advanced_data/data/a050 copy.jpg +0 -0
  396. data/samples/processing_app/topics/advanced_data/data/a051 copy.jpg +0 -0
  397. data/samples/processing_app/topics/advanced_data/data/a052 copy.jpg +0 -0
  398. data/samples/processing_app/topics/advanced_data/data/a053 copy.jpg +0 -0
  399. data/samples/processing_app/topics/advanced_data/data/a054 copy.jpg +0 -0
  400. data/samples/processing_app/topics/advanced_data/data/a055 copy.jpg +0 -0
  401. data/samples/processing_app/topics/advanced_data/data/a056 copy.jpg +0 -0
  402. data/samples/processing_app/topics/advanced_data/data/a057 copy.jpg +0 -0
  403. data/samples/processing_app/topics/advanced_data/data/a058 copy.jpg +0 -0
  404. data/samples/processing_app/topics/advanced_data/data/a059 copy.jpg +0 -0
  405. data/samples/processing_app/topics/advanced_data/data/a060 copy.jpg +0 -0
  406. data/samples/processing_app/topics/advanced_data/data/a061 copy.jpg +0 -0
  407. data/samples/processing_app/topics/advanced_data/data/a062 copy.jpg +0 -0
  408. data/samples/processing_app/topics/advanced_data/data/a063 copy.jpg +0 -0
  409. data/samples/processing_app/topics/advanced_data/data/a064 copy.jpg +0 -0
  410. data/samples/processing_app/topics/advanced_data/data/a065 copy.jpg +0 -0
  411. data/samples/processing_app/topics/advanced_data/data/a066 copy.jpg +0 -0
  412. data/samples/processing_app/topics/advanced_data/data/a067 copy.jpg +0 -0
  413. data/samples/processing_app/topics/advanced_data/data/a068 copy.jpg +0 -0
  414. data/samples/processing_app/topics/advanced_data/data/a069 copy.jpg +0 -0
  415. data/samples/processing_app/topics/advanced_data/data/a070 copy.jpg +0 -0
  416. data/samples/processing_app/topics/advanced_data/data/a071 copy.jpg +0 -0
  417. data/samples/processing_app/topics/advanced_data/data/a072 copy.jpg +0 -0
  418. data/samples/processing_app/topics/advanced_data/data/a073 copy.jpg +0 -0
  419. data/samples/processing_app/topics/advanced_data/data/a074 copy.jpg +0 -0
  420. data/samples/processing_app/topics/advanced_data/data/a075 copy.jpg +0 -0
  421. data/samples/processing_app/topics/advanced_data/data/a076 copy.jpg +0 -0
  422. data/samples/processing_app/topics/advanced_data/data/a077 copy.jpg +0 -0
  423. data/samples/processing_app/topics/advanced_data/data/a078 copy.jpg +0 -0
  424. data/samples/processing_app/topics/advanced_data/data/a079 copy.jpg +0 -0
  425. data/samples/processing_app/topics/advanced_data/data/a080 copy.jpg +0 -0
  426. data/samples/processing_app/topics/advanced_data/data/a081 copy.jpg +0 -0
  427. data/samples/processing_app/topics/advanced_data/data/a082 copy.jpg +0 -0
  428. data/samples/processing_app/topics/advanced_data/data/a083 copy.jpg +0 -0
  429. data/samples/processing_app/topics/advanced_data/data/a084 copy.jpg +0 -0
  430. data/samples/processing_app/topics/advanced_data/data/a085 copy.jpg +0 -0
  431. data/samples/processing_app/topics/advanced_data/data/a086 copy.jpg +0 -0
  432. data/samples/processing_app/topics/advanced_data/data/a087 copy.jpg +0 -0
  433. data/samples/processing_app/topics/advanced_data/data/a088 copy.jpg +0 -0
  434. data/samples/processing_app/topics/advanced_data/data/a089 copy.jpg +0 -0
  435. data/samples/processing_app/topics/advanced_data/data/a090 copy.jpg +0 -0
  436. data/samples/processing_app/topics/advanced_data/data/a091 copy.jpg +0 -0
  437. data/samples/processing_app/topics/advanced_data/data/a092 copy.jpg +0 -0
  438. data/samples/processing_app/topics/advanced_data/data/a093 copy.jpg +0 -0
  439. data/samples/processing_app/topics/advanced_data/data/a094 copy.jpg +0 -0
  440. data/samples/processing_app/topics/advanced_data/data/a095 copy.jpg +0 -0
  441. data/samples/processing_app/topics/advanced_data/data/a096 copy.jpg +0 -0
  442. data/samples/processing_app/topics/advanced_data/data/a097 copy.jpg +0 -0
  443. data/samples/processing_app/topics/advanced_data/data/a098 copy.jpg +0 -0
  444. data/samples/processing_app/topics/advanced_data/data/a099 copy.jpg +0 -0
  445. data/samples/processing_app/topics/advanced_data/data/a100 copy.jpg +0 -0
  446. data/samples/processing_app/topics/advanced_data/data/a101 copy.jpg +0 -0
  447. data/samples/processing_app/topics/advanced_data/data/a102 copy.jpg +0 -0
  448. data/samples/processing_app/topics/advanced_data/data/a103 copy.jpg +0 -0
  449. data/samples/processing_app/topics/advanced_data/data/a104 copy.jpg +0 -0
  450. data/samples/processing_app/topics/advanced_data/data/a105 copy.jpg +0 -0
  451. data/samples/processing_app/topics/advanced_data/data/a106 copy.jpg +0 -0
  452. data/samples/processing_app/topics/advanced_data/data/a107 copy.jpg +0 -0
  453. data/samples/processing_app/topics/advanced_data/data/a108 copy.jpg +0 -0
  454. data/samples/processing_app/topics/advanced_data/data/a109 copy.jpg +0 -0
  455. data/samples/processing_app/topics/advanced_data/data/a110 copy.jpg +0 -0
  456. data/samples/processing_app/topics/advanced_data/data/a111 copy.jpg +0 -0
  457. data/samples/processing_app/topics/advanced_data/data/a112 copy.jpg +0 -0
  458. data/samples/processing_app/topics/advanced_data/data/a113 copy.jpg +0 -0
  459. data/samples/processing_app/topics/advanced_data/data/a114 copy.jpg +0 -0
  460. data/samples/processing_app/topics/advanced_data/data/a115 copy.jpg +0 -0
  461. data/samples/processing_app/topics/advanced_data/data/data.csv +0 -5
  462. data/samples/processing_app/topics/advanced_data/data/data.json +0 -36
  463. data/samples/processing_app/topics/advanced_data/data/data.xml +0 -23
  464. data/samples/processing_app/topics/advanced_data/data/data.yml +0 -22
  465. data/samples/processing_app/topics/advanced_data/data/dracula.txt +0 -16624
  466. data/samples/processing_app/topics/advanced_data/data/frankenstein.txt +0 -7652
  467. data/samples/processing_app/topics/advanced_data/data/struct_data.yml +0 -27
  468. data/samples/processing_app/topics/advanced_data/library/bubble/bubble.rb +0 -45
  469. data/samples/processing_app/topics/advanced_data/library/word/word.rb +0 -64
  470. data/samples/processing_app/topics/advanced_data/load_save_XML.rb +0 -113
  471. data/samples/processing_app/topics/advanced_data/load_save_json.rb +0 -93
  472. data/samples/processing_app/topics/advanced_data/load_save_struct_yaml.rb +0 -84
  473. data/samples/processing_app/topics/advanced_data/load_save_table.rb +0 -85
  474. data/samples/processing_app/topics/advanced_data/load_save_yaml.rb +0 -87
  475. data/samples/processing_app/topics/advanced_data/regex.rb +0 -46
  476. data/samples/processing_app/topics/advanced_data/threads.rb +0 -96
  477. data/samples/processing_app/topics/advanced_data/threads_two.rb +0 -52
  478. data/samples/processing_app/topics/advanced_data/word_frequency.rb +0 -80
  479. data/samples/processing_app/topics/advanced_data/yahoo_weather.rb +0 -39
  480. data/samples/processing_app/topics/animation/README.txt +0 -1
  481. data/samples/processing_app/topics/animation/animated_sprite.rb +0 -57
  482. data/samples/processing_app/topics/animation/data/PT_Shifty_0000.gif +0 -0
  483. data/samples/processing_app/topics/animation/data/PT_Shifty_0001.gif +0 -0
  484. data/samples/processing_app/topics/animation/data/PT_Shifty_0002.gif +0 -0
  485. data/samples/processing_app/topics/animation/data/PT_Shifty_0003.gif +0 -0
  486. data/samples/processing_app/topics/animation/data/PT_Shifty_0004.gif +0 -0
  487. data/samples/processing_app/topics/animation/data/PT_Shifty_0005.gif +0 -0
  488. data/samples/processing_app/topics/animation/data/PT_Shifty_0006.gif +0 -0
  489. data/samples/processing_app/topics/animation/data/PT_Shifty_0007.gif +0 -0
  490. data/samples/processing_app/topics/animation/data/PT_Shifty_0008.gif +0 -0
  491. data/samples/processing_app/topics/animation/data/PT_Shifty_0009.gif +0 -0
  492. data/samples/processing_app/topics/animation/data/PT_Shifty_0010.gif +0 -0
  493. data/samples/processing_app/topics/animation/data/PT_Shifty_0011.gif +0 -0
  494. data/samples/processing_app/topics/animation/data/PT_Shifty_0012.gif +0 -0
  495. data/samples/processing_app/topics/animation/data/PT_Shifty_0013.gif +0 -0
  496. data/samples/processing_app/topics/animation/data/PT_Shifty_0014.gif +0 -0
  497. data/samples/processing_app/topics/animation/data/PT_Shifty_0015.gif +0 -0
  498. data/samples/processing_app/topics/animation/data/PT_Shifty_0016.gif +0 -0
  499. data/samples/processing_app/topics/animation/data/PT_Shifty_0017.gif +0 -0
  500. data/samples/processing_app/topics/animation/data/PT_Shifty_0018.gif +0 -0
  501. data/samples/processing_app/topics/animation/data/PT_Shifty_0019.gif +0 -0
  502. data/samples/processing_app/topics/animation/data/PT_Shifty_0020.gif +0 -0
  503. data/samples/processing_app/topics/animation/data/PT_Shifty_0021.gif +0 -0
  504. data/samples/processing_app/topics/animation/data/PT_Shifty_0022.gif +0 -0
  505. data/samples/processing_app/topics/animation/data/PT_Shifty_0023.gif +0 -0
  506. data/samples/processing_app/topics/animation/data/PT_Shifty_0024.gif +0 -0
  507. data/samples/processing_app/topics/animation/data/PT_Shifty_0025.gif +0 -0
  508. data/samples/processing_app/topics/animation/data/PT_Shifty_0026.gif +0 -0
  509. data/samples/processing_app/topics/animation/data/PT_Shifty_0027.gif +0 -0
  510. data/samples/processing_app/topics/animation/data/PT_Shifty_0028.gif +0 -0
  511. data/samples/processing_app/topics/animation/data/PT_Shifty_0029.gif +0 -0
  512. data/samples/processing_app/topics/animation/data/PT_Shifty_0030.gif +0 -0
  513. data/samples/processing_app/topics/animation/data/PT_Shifty_0031.gif +0 -0
  514. data/samples/processing_app/topics/animation/data/PT_Shifty_0032.gif +0 -0
  515. data/samples/processing_app/topics/animation/data/PT_Shifty_0033.gif +0 -0
  516. data/samples/processing_app/topics/animation/data/PT_Shifty_0034.gif +0 -0
  517. data/samples/processing_app/topics/animation/data/PT_Shifty_0035.gif +0 -0
  518. data/samples/processing_app/topics/animation/data/PT_Shifty_0036.gif +0 -0
  519. data/samples/processing_app/topics/animation/data/PT_Shifty_0037.gif +0 -0
  520. data/samples/processing_app/topics/animation/data/PT_Teddy_0000.gif +0 -0
  521. data/samples/processing_app/topics/animation/data/PT_Teddy_0001.gif +0 -0
  522. data/samples/processing_app/topics/animation/data/PT_Teddy_0002.gif +0 -0
  523. data/samples/processing_app/topics/animation/data/PT_Teddy_0003.gif +0 -0
  524. data/samples/processing_app/topics/animation/data/PT_Teddy_0004.gif +0 -0
  525. data/samples/processing_app/topics/animation/data/PT_Teddy_0005.gif +0 -0
  526. data/samples/processing_app/topics/animation/data/PT_Teddy_0006.gif +0 -0
  527. data/samples/processing_app/topics/animation/data/PT_Teddy_0007.gif +0 -0
  528. data/samples/processing_app/topics/animation/data/PT_Teddy_0008.gif +0 -0
  529. data/samples/processing_app/topics/animation/data/PT_Teddy_0009.gif +0 -0
  530. data/samples/processing_app/topics/animation/data/PT_Teddy_0010.gif +0 -0
  531. data/samples/processing_app/topics/animation/data/PT_Teddy_0011.gif +0 -0
  532. data/samples/processing_app/topics/animation/data/PT_Teddy_0012.gif +0 -0
  533. data/samples/processing_app/topics/animation/data/PT_Teddy_0013.gif +0 -0
  534. data/samples/processing_app/topics/animation/data/PT_Teddy_0014.gif +0 -0
  535. data/samples/processing_app/topics/animation/data/PT_Teddy_0015.gif +0 -0
  536. data/samples/processing_app/topics/animation/data/PT_Teddy_0016.gif +0 -0
  537. data/samples/processing_app/topics/animation/data/PT_Teddy_0017.gif +0 -0
  538. data/samples/processing_app/topics/animation/data/PT_Teddy_0018.gif +0 -0
  539. data/samples/processing_app/topics/animation/data/PT_Teddy_0019.gif +0 -0
  540. data/samples/processing_app/topics/animation/data/PT_Teddy_0020.gif +0 -0
  541. data/samples/processing_app/topics/animation/data/PT_Teddy_0021.gif +0 -0
  542. data/samples/processing_app/topics/animation/data/PT_Teddy_0022.gif +0 -0
  543. data/samples/processing_app/topics/animation/data/PT_Teddy_0023.gif +0 -0
  544. data/samples/processing_app/topics/animation/data/PT_Teddy_0024.gif +0 -0
  545. data/samples/processing_app/topics/animation/data/PT_Teddy_0025.gif +0 -0
  546. data/samples/processing_app/topics/animation/data/PT_Teddy_0026.gif +0 -0
  547. data/samples/processing_app/topics/animation/data/PT_Teddy_0027.gif +0 -0
  548. data/samples/processing_app/topics/animation/data/PT_Teddy_0028.gif +0 -0
  549. data/samples/processing_app/topics/animation/data/PT_Teddy_0029.gif +0 -0
  550. data/samples/processing_app/topics/animation/data/PT_Teddy_0030.gif +0 -0
  551. data/samples/processing_app/topics/animation/data/PT_Teddy_0031.gif +0 -0
  552. data/samples/processing_app/topics/animation/data/PT_Teddy_0032.gif +0 -0
  553. data/samples/processing_app/topics/animation/data/PT_Teddy_0033.gif +0 -0
  554. data/samples/processing_app/topics/animation/data/PT_Teddy_0034.gif +0 -0
  555. data/samples/processing_app/topics/animation/data/PT_Teddy_0035.gif +0 -0
  556. data/samples/processing_app/topics/animation/data/PT_Teddy_0036.gif +0 -0
  557. data/samples/processing_app/topics/animation/data/PT_Teddy_0037.gif +0 -0
  558. data/samples/processing_app/topics/animation/data/PT_Teddy_0038.gif +0 -0
  559. data/samples/processing_app/topics/animation/data/PT_Teddy_0039.gif +0 -0
  560. data/samples/processing_app/topics/animation/data/PT_Teddy_0040.gif +0 -0
  561. data/samples/processing_app/topics/animation/data/PT_Teddy_0041.gif +0 -0
  562. data/samples/processing_app/topics/animation/data/PT_Teddy_0042.gif +0 -0
  563. data/samples/processing_app/topics/animation/data/PT_Teddy_0043.gif +0 -0
  564. data/samples/processing_app/topics/animation/data/PT_Teddy_0044.gif +0 -0
  565. data/samples/processing_app/topics/animation/data/PT_Teddy_0045.gif +0 -0
  566. data/samples/processing_app/topics/animation/data/PT_Teddy_0046.gif +0 -0
  567. data/samples/processing_app/topics/animation/data/PT_Teddy_0047.gif +0 -0
  568. data/samples/processing_app/topics/animation/data/PT_Teddy_0048.gif +0 -0
  569. data/samples/processing_app/topics/animation/data/PT_Teddy_0049.gif +0 -0
  570. data/samples/processing_app/topics/animation/data/PT_Teddy_0050.gif +0 -0
  571. data/samples/processing_app/topics/animation/data/PT_Teddy_0051.gif +0 -0
  572. data/samples/processing_app/topics/animation/data/PT_Teddy_0052.gif +0 -0
  573. data/samples/processing_app/topics/animation/data/PT_Teddy_0053.gif +0 -0
  574. data/samples/processing_app/topics/animation/data/PT_Teddy_0054.gif +0 -0
  575. data/samples/processing_app/topics/animation/data/PT_Teddy_0055.gif +0 -0
  576. data/samples/processing_app/topics/animation/data/PT_Teddy_0056.gif +0 -0
  577. data/samples/processing_app/topics/animation/data/PT_Teddy_0057.gif +0 -0
  578. data/samples/processing_app/topics/animation/data/PT_Teddy_0058.gif +0 -0
  579. data/samples/processing_app/topics/animation/data/PT_Teddy_0059.gif +0 -0
  580. data/samples/processing_app/topics/animation/data/PT_anim0000.gif +0 -0
  581. data/samples/processing_app/topics/animation/data/PT_anim0001.gif +0 -0
  582. data/samples/processing_app/topics/animation/data/PT_anim0002.gif +0 -0
  583. data/samples/processing_app/topics/animation/data/PT_anim0003.gif +0 -0
  584. data/samples/processing_app/topics/animation/data/PT_anim0004.gif +0 -0
  585. data/samples/processing_app/topics/animation/data/PT_anim0005.gif +0 -0
  586. data/samples/processing_app/topics/animation/data/PT_anim0006.gif +0 -0
  587. data/samples/processing_app/topics/animation/data/PT_anim0007.gif +0 -0
  588. data/samples/processing_app/topics/animation/data/PT_anim0008.gif +0 -0
  589. data/samples/processing_app/topics/animation/data/PT_anim0009.gif +0 -0
  590. data/samples/processing_app/topics/animation/data/PT_anim0010.gif +0 -0
  591. data/samples/processing_app/topics/animation/data/PT_anim0011.gif +0 -0
  592. data/samples/processing_app/topics/animation/sequential.rb +0 -41
  593. data/samples/processing_app/topics/cellular_automata/game_of_life.rb +0 -125
  594. data/samples/processing_app/topics/cellular_automata/library/ca/ca.rb +0 -91
  595. data/samples/processing_app/topics/cellular_automata/library/cell/cell.rb +0 -99
  596. data/samples/processing_app/topics/cellular_automata/library/simple_cell/simple_cell.rb +0 -46
  597. data/samples/processing_app/topics/cellular_automata/spore1.rb +0 -94
  598. data/samples/processing_app/topics/cellular_automata/spore2.rb +0 -101
  599. data/samples/processing_app/topics/cellular_automata/wolfram.rb +0 -42
  600. data/samples/processing_app/topics/create_shapes/begin_end_contour.rb +0 -44
  601. data/samples/processing_app/topics/create_shapes/data/sprite.png +0 -0
  602. data/samples/processing_app/topics/create_shapes/group_pshape.rb +0 -69
  603. data/samples/processing_app/topics/create_shapes/library/particle/particle_system.rb +0 -107
  604. data/samples/processing_app/topics/create_shapes/library/polygon/polygon.rb +0 -35
  605. data/samples/processing_app/topics/create_shapes/library/star/star.rb +0 -47
  606. data/samples/processing_app/topics/create_shapes/library/wiggler/wiggler.rb +0 -57
  607. data/samples/processing_app/topics/create_shapes/particle_system_pshape.rb +0 -38
  608. data/samples/processing_app/topics/create_shapes/path_pshape.rb +0 -38
  609. data/samples/processing_app/topics/create_shapes/polygon_pshape_oo3.rb +0 -56
  610. data/samples/processing_app/topics/create_shapes/polygon_pshape_oop.rb +0 -29
  611. data/samples/processing_app/topics/create_shapes/polygon_pshape_oop2.rb +0 -52
  612. data/samples/processing_app/topics/create_shapes/polygon_shape.rb +0 -42
  613. data/samples/processing_app/topics/create_shapes/primitive_pshape.rb +0 -29
  614. data/samples/processing_app/topics/create_shapes/wiggle_pshape.rb +0 -23
  615. data/samples/processing_app/topics/drawing/continuous_lines.rb +0 -17
  616. data/samples/processing_app/topics/drawing/pattern.rb +0 -30
  617. data/samples/processing_app/topics/drawing/pulses.rb +0 -33
  618. data/samples/processing_app/topics/drawing/scribble_plotter.rb +0 -77
  619. data/samples/processing_app/topics/effects/data/red_smoke.jpg +0 -0
  620. data/samples/processing_app/topics/effects/lens.rb +0 -94
  621. data/samples/processing_app/topics/file_io/data/positions.txt +0 -206
  622. data/samples/processing_app/topics/file_io/load_file1.rb +0 -32
  623. data/samples/processing_app/topics/file_io/save_frames.rb +0 -70
  624. data/samples/processing_app/topics/file_io/save_one_image.rb +0 -22
  625. data/samples/processing_app/topics/file_io/tile_images.rb +0 -37
  626. data/samples/processing_app/topics/gui/button.rb +0 -74
  627. data/samples/processing_app/topics/gui/data/seedBottom.jpg +0 -0
  628. data/samples/processing_app/topics/gui/data/seedTop.jpg +0 -0
  629. data/samples/processing_app/topics/gui/handles.rb +0 -108
  630. data/samples/processing_app/topics/gui/rollover.rb +0 -63
  631. data/samples/processing_app/topics/gui/scrollbar.rb +0 -91
  632. data/samples/processing_app/topics/image_processing/blending.rb +0 -82
  633. data/samples/processing_app/topics/image_processing/blur.rb +0 -50
  634. data/samples/processing_app/topics/image_processing/brightness.rb +0 -39
  635. data/samples/processing_app/topics/image_processing/convolution.rb +0 -72
  636. data/samples/processing_app/topics/image_processing/data/eames.jpg +0 -0
  637. data/samples/processing_app/topics/image_processing/data/frontier.jpg +0 -0
  638. data/samples/processing_app/topics/image_processing/data/java_args.txt +0 -3
  639. data/samples/processing_app/topics/image_processing/data/layer1.jpg +0 -0
  640. data/samples/processing_app/topics/image_processing/data/layer2.jpg +0 -0
  641. data/samples/processing_app/topics/image_processing/data/moon-wide.jpg +0 -0
  642. data/samples/processing_app/topics/image_processing/data/moon.jpg +0 -0
  643. data/samples/processing_app/topics/image_processing/data/sea.jpg +0 -0
  644. data/samples/processing_app/topics/image_processing/data/ystone08.jpg +0 -0
  645. data/samples/processing_app/topics/image_processing/edge_detection.rb +0 -47
  646. data/samples/processing_app/topics/image_processing/explode.rb +0 -35
  647. data/samples/processing_app/topics/image_processing/extrusion.rb +0 -49
  648. data/samples/processing_app/topics/image_processing/histogram.rb +0 -43
  649. data/samples/processing_app/topics/image_processing/linear_image.rb +0 -45
  650. data/samples/processing_app/topics/image_processing/pixel_array.rb +0 -48
  651. data/samples/processing_app/topics/image_processing/zoom.rb +0 -66
  652. data/samples/processing_app/topics/lsystems/Rakefile +0 -30
  653. data/samples/processing_app/topics/lsystems/chequer.rb +0 -66
  654. data/samples/processing_app/topics/lsystems/csplant.rb +0 -100
  655. data/samples/processing_app/topics/lsystems/cstest.rb +0 -25
  656. data/samples/processing_app/topics/lsystems/data/java_args.txt +0 -3
  657. data/samples/processing_app/topics/lsystems/david_tour.rb +0 -75
  658. data/samples/processing_app/topics/lsystems/koch.rb +0 -19
  659. data/samples/processing_app/topics/lsystems/library/cs_grammar/cs_grammar.rb +0 -82
  660. data/samples/processing_app/topics/lsystems/library/grammar/grammar.rb +0 -31
  661. data/samples/processing_app/topics/lsystems/library/koch/koch_fractal.rb +0 -99
  662. data/samples/processing_app/topics/lsystems/library/stochastic_grammar/stochastic_grammar.rb +0 -56
  663. data/samples/processing_app/topics/lsystems/mpeano.rb +0 -80
  664. data/samples/processing_app/topics/lsystems/peano.rb +0 -76
  665. data/samples/processing_app/topics/lsystems/penrose.rb +0 -117
  666. data/samples/processing_app/topics/lsystems/penrose_snowflake.rb +0 -88
  667. data/samples/processing_app/topics/lsystems/pentagonal.rb +0 -100
  668. data/samples/processing_app/topics/lsystems/snake_kolam.rb +0 -93
  669. data/samples/processing_app/topics/lsystems/stochastic_test.rb +0 -96
  670. data/samples/processing_app/topics/lsystems/three_d_tree.rb +0 -109
  671. data/samples/processing_app/topics/motion/Rakefile +0 -30
  672. data/samples/processing_app/topics/motion/bounce.rb +0 -40
  673. data/samples/processing_app/topics/motion/bouncy_bubbles.rb +0 -96
  674. data/samples/processing_app/topics/motion/brownian.rb +0 -40
  675. data/samples/processing_app/topics/motion/circle_collision.rb +0 -142
  676. data/samples/processing_app/topics/motion/cubes_in_cube.rb +0 -62
  677. data/samples/processing_app/topics/motion/data/java_args.txt +0 -3
  678. data/samples/processing_app/topics/motion/library/cube/cube.rb +0 -128
  679. data/samples/processing_app/topics/motion/library/ground/ground.rb +0 -42
  680. data/samples/processing_app/topics/motion/linear.rb +0 -25
  681. data/samples/processing_app/topics/motion/morph.rb +0 -84
  682. data/samples/processing_app/topics/motion/moving_on_curves.rb +0 -46
  683. data/samples/processing_app/topics/motion/puff.rb +0 -78
  684. data/samples/processing_app/topics/motion/reflection1.rb +0 -108
  685. data/samples/processing_app/topics/motion/reflection2.rb +0 -122
  686. data/samples/processing_app/topics/ruby_hook/hooky.rb +0 -26
  687. data/samples/processing_app/topics/ruby_hook/subclass.rb +0 -75
  688. data/samples/processing_app/topics/shaders/README +0 -1
  689. data/samples/processing_app/topics/shaders/Rakefile +0 -30
  690. data/samples/processing_app/topics/shaders/blur_filter.rb +0 -25
  691. data/samples/processing_app/topics/shaders/bw_shader.rb +0 -40
  692. data/samples/processing_app/topics/shaders/conway.rb +0 -26
  693. data/samples/processing_app/topics/shaders/data/FishEye.glsl +0 -59
  694. data/samples/processing_app/topics/shaders/data/GlossyFrag.glsl +0 -44
  695. data/samples/processing_app/topics/shaders/data/GlossyVert.glsl +0 -33
  696. data/samples/processing_app/topics/shaders/data/Texture01.jpg +0 -0
  697. data/samples/processing_app/topics/shaders/data/Texture02.jpg +0 -0
  698. data/samples/processing_app/topics/shaders/data/ToonFrag.glsl +0 -25
  699. data/samples/processing_app/topics/shaders/data/ToonVert.glsl +0 -31
  700. data/samples/processing_app/topics/shaders/data/blur.glsl +0 -42
  701. data/samples/processing_app/topics/shaders/data/bwfrag.glsl +0 -23
  702. data/samples/processing_app/topics/shaders/data/conway.glsl +0 -57
  703. data/samples/processing_app/topics/shaders/data/cubemapfrag.glsl +0 -1
  704. data/samples/processing_app/topics/shaders/data/cubemapvert.glsl +0 -1
  705. data/samples/processing_app/topics/shaders/data/deform.glsl +0 -31
  706. data/samples/processing_app/topics/shaders/data/displaceFrag.glsl +0 -8
  707. data/samples/processing_app/topics/shaders/data/displaceVert.glsl +0 -201
  708. data/samples/processing_app/topics/shaders/data/edges.glsl +0 -40
  709. data/samples/processing_app/topics/shaders/data/java_args.txt +0 -2
  710. data/samples/processing_app/topics/shaders/data/lachoy.jpg +0 -0
  711. data/samples/processing_app/topics/shaders/data/landscape.glsl +0 -352
  712. data/samples/processing_app/topics/shaders/data/leaves.jpg +0 -0
  713. data/samples/processing_app/topics/shaders/data/mask.glsl +0 -19
  714. data/samples/processing_app/topics/shaders/data/monjori.glsl +0 -30
  715. data/samples/processing_app/topics/shaders/data/nebula.glsl +0 -111
  716. data/samples/processing_app/topics/shaders/data/sep_blur.glsl +0 -59
  717. data/samples/processing_app/topics/shaders/data/tex1.jpg +0 -0
  718. data/samples/processing_app/topics/shaders/deform.rb +0 -28
  719. data/samples/processing_app/topics/shaders/edge_detect.rb +0 -28
  720. data/samples/processing_app/topics/shaders/glossy_fish_eye.rb +0 -57
  721. data/samples/processing_app/topics/shaders/glsl_heightmap_noise.rb +0 -125
  722. data/samples/processing_app/topics/shaders/image_mask.rb +0 -31
  723. data/samples/processing_app/topics/shaders/landscape.rb +0 -32
  724. data/samples/processing_app/topics/shaders/monjori.rb +0 -28
  725. data/samples/processing_app/topics/shaders/nebula.rb +0 -18
  726. data/samples/processing_app/topics/shaders/sep_blur.rb +0 -64
  727. data/samples/processing_app/topics/shaders/toon_shading.rb +0 -43
  728. data/samples/processing_app/topics/simulate/README +0 -1
  729. data/samples/processing_app/topics/simulate/chain.rb +0 -80
  730. data/samples/processing_app/topics/simulate/data/java_args.txt +0 -2
  731. data/samples/processing_app/topics/simulate/data/texture.gif +0 -0
  732. data/samples/processing_app/topics/simulate/data/texture.png +0 -0
  733. data/samples/processing_app/topics/simulate/flocking.rb +0 -32
  734. data/samples/processing_app/topics/simulate/library/flock/flock.rb +0 -203
  735. data/samples/processing_app/topics/simulate/multiple_particle_systems.rb +0 -133
  736. data/samples/processing_app/topics/simulate/simple_particle_system.rb +0 -78
  737. data/samples/processing_app/topics/simulate/smoke_particle_system.rb +0 -125
  738. data/samples/processing_app/topics/simulate/spring.rb +0 -80
  739. data/samples/processing_app/topics/simulate/springs.rb +0 -120
  740. data/samples/processing_app/topics/vectors/acceleration_with_vectors.rb +0 -78
  741. data/samples/processing_app/topics/vectors/bouncing_ball.rb +0 -50
  742. data/samples/processing_app/topics/vectors/vector_math.rb +0 -39
@@ -1,23 +0,0 @@
1
- #
2
- # Random Gaussian.
3
- #
4
- # This sketch draws ellipses with x and y locations tied to a gaussian distribution of random numbers.
5
- #
6
-
7
- def setup
8
- size(640, 360)
9
- background(0)
10
- end
11
-
12
- def draw
13
- # Get a gaussian random number w/ mean of 0 and standard deviation of 1.0
14
- val = random_gaussian
15
- sd = 60 # Define a standard deviation
16
- mean = width/2 # Define a mean value (middle of the screen along the x-axis)
17
- x = (val * sd) + mean # Scale the gaussian random number by standard deviation and mean
18
- fill(200, 20)
19
- no_stroke
20
- ellipse(x, height/2, 32, 32) # Draw an ellipse at our "normal" random location
21
- end
22
-
23
-
@@ -1,35 +0,0 @@
1
- # Sine.
2
- #
3
- # Smoothly scaling size with the sin() function.
4
-
5
-
6
- def setup
7
- size 640, 360
8
- no_stroke
9
- @diameter = 84.0
10
- @sin = 0.0
11
- @angle = 0.0
12
- @rad_points = 90
13
-
14
- end
15
-
16
- def draw
17
- background 153
18
- translate width / 2, height / 2
19
- fill 255
20
- ellipse 0, 0, 16, 16
21
- angle_rot = 0.0
22
- fill 51
23
- (0...5).each { |i|
24
-
25
- push_matrix
26
- rotate angle_rot - 45
27
- ellipse(-116, 0, @diameter, @diameter)
28
- pop_matrix
29
- angle_rot += TAU/5
30
- }
31
- @diameter = 34 * sin( @angle ) + 168
32
- @angle += 0.02
33
- #@angle = 0.0 if @angle > TAU
34
- end
35
-
@@ -1,48 +0,0 @@
1
- #
2
- # Sine Cosine.
3
- #
4
- # Linear movement with sin() and cos().
5
- # Numbers between 0 and PI*2 (TAU which angles roughly 6.28)
6
- # are put into these functions and numbers between -1 and 1 are
7
- # returned. These values are then scaled to produce larger movements.
8
- # note only angle1 angle2 need scope outside draw loop
9
- #
10
-
11
- attr_reader :angle1, :angle2
12
- SCALAR = 70
13
-
14
- def setup
15
- size(640, 360)
16
- noStroke()
17
- rectMode(CENTER)
18
- @angle1 = 0
19
- @angle2 = 0
20
- end
21
-
22
- def draw
23
- background(0)
24
-
25
- ang1 = angle1.radians
26
- ang2 = angle2.radians
27
-
28
- x1 = width / 2 + (SCALAR * cos(ang1))
29
- x2 = width / 2 + (SCALAR * cos(ang2))
30
-
31
- y1 = height / 2 + (SCALAR * sin(ang1))
32
- y2 = height / 2 + (SCALAR * sin(ang2))
33
-
34
- fill(255)
35
- rect(width * 0.5, height * 0.5, 140, 140)
36
-
37
- fill(0, 102, 153)
38
- ellipse(x1, height * 0.5 - 120, SCALAR, SCALAR)
39
- ellipse(x2, height * 0.5 + 120, SCALAR, SCALAR)
40
-
41
- fill(255, 204, 0)
42
- ellipse(width * 0.5 - 120, y1, SCALAR, SCALAR)
43
- ellipse(width * 0.5 + 120, y2, SCALAR, SCALAR)
44
-
45
- @angle1 += 2
46
- @angle2 += 3
47
- end
48
-
@@ -1,43 +0,0 @@
1
- # Sine Wave
2
- # by Daniel Shiffman.
3
- #
4
- # Render a simple sine wave.
5
-
6
-
7
- def setup
8
- size 640, 360
9
- frame_rate 30
10
- color_mode RGB, 255, 255, 255, 100
11
- @w = width + 16
12
- @period = 500.0
13
- @x_spacing = 8
14
- @dx = (TAU / @period) * @x_spacing
15
- @y_values = []
16
- @theta = 0.0
17
- @amplitude = 75.0
18
-
19
- end
20
-
21
- def draw
22
- background 0
23
- calc_wave
24
- draw_wave
25
- end
26
-
27
- def calc_wave
28
- @theta += 0.02
29
- x = @theta
30
- (0...(@w/@x_spacing)).each do |i|
31
- @y_values[i] = sin(x) * @amplitude
32
- x += @dx
33
- end
34
- end
35
-
36
- def draw_wave
37
- no_stroke
38
- fill 255, 50
39
- ellipse_mode CENTER
40
- @y_values.each_with_index do |v, x|
41
- ellipse x*@x_spacing, height/2+v, 16, 16
42
- end
43
- end
@@ -1,113 +0,0 @@
1
- # Composite Objects
2
- #
3
- # An object can include several other objects. Creating such composite objects
4
- # is a good way to use the principles of modularity and build higher levels of
5
- # abstraction within a program.
6
- attr_reader :rings
7
-
8
- def setup
9
- size 640, 360
10
- @rings = []
11
- rings << EggRing.new(width*0.45, height*0.5, 0.1, 120)
12
- rings << EggRing.new(width*0.65, height*0.8, 0.05, 180)
13
- end
14
-
15
- def draw
16
- background 0
17
- rings.each {|er| er.transmit}
18
- end
19
-
20
- # vvv CLASS EGG RING
21
-
22
- class EggRing
23
- def initialize(x, y, t, sp)
24
- @ovoid = Egg.new(x, y, t, sp)
25
- @circle = Ring.new
26
- @circle.start x, y - sp/2
27
- end
28
-
29
- def transmit
30
- @ovoid.wobble
31
- @ovoid.display
32
- @circle.grow
33
- @circle.display
34
- @circle.on = true unless @circle.on
35
- end
36
- end
37
-
38
- # ^^^ CLASS EGG RING
39
-
40
- # vvv CLASS EGG
41
-
42
- class Egg
43
- attr_accessor :x, :y # these are (or better generate) getters/setters
44
- # for these instance variables
45
- attr_accessor :tilt
46
- attr_accessor :angle
47
- attr_accessor :scalar
48
-
49
- def initialize ( x, y, t, s )
50
- @x, @y = x, y # the @-sign means that these are instance variables
51
- @tilt = t
52
- @scalar = s / 100.0
53
- @angle = 0.0
54
- end
55
-
56
- def wobble
57
- @tilt = Math.cos( angle ) / 8
58
- @angle += 0.1
59
- end
60
-
61
- def display
62
- no_stroke # in Ruby-Processing classes defined inside the main sketch
63
- # class automatically inherit the Processing commands, just
64
- # like "inner classes" in Java
65
- fill 255
66
- push_matrix
67
- translate x, y
68
- rotate tilt
69
- scale scalar
70
- begin_shape
71
- vertex 0, -100
72
- bezier_vertex 25, -100, 40, -65, 40, -40
73
- bezier_vertex 40, -15, 25, 0, 0, 0
74
- bezier_vertex -25, 0, -40, -15, -40, -40
75
- bezier_vertex -40, -65, -25, -100, 0, -100
76
- end_shape
77
- pop_matrix
78
- end
79
- end
80
-
81
- # ^^^ CLASS EGG
82
-
83
- # vvv CLASS RING # note width not directly available in Ring class
84
-
85
- class Ring
86
- attr_accessor :x, :y
87
- attr_accessor :diameter
88
- attr_accessor :on
89
- attr_accessor :max_diameter
90
- def start (xpos, ypos)
91
- @x, @y = xpos, ypos
92
- @on = true
93
- @diameter = 1.0
94
- @max_diameter = $app.width * 2
95
- end
96
-
97
- def grow
98
- @diameter += 0.5 if on
99
- @diameter = 0.0 if diameter > max_diameter
100
- end
101
-
102
- def display
103
- if on
104
- no_fill
105
- stroke_weight 4
106
- stroke 155, 153
107
- ellipse x, y, diameter, diameter
108
- end
109
- end
110
- end
111
-
112
- # ^^^ CLASS RING
113
-
@@ -1,84 +0,0 @@
1
- # Inheritance
2
- #
3
- # A class can be defined using another class as a foundation. In object-oriented
4
- # programming terminology, one class can inherit fields and methods from another.
5
- # An object that inherits from another is called a subclass, and the object it
6
- # inherits from is called a superclass. A subclass extends the superclass.
7
- # see also inheritance_two for the use of hash args and inheritance that
8
- # avoids the inherited class call to super
9
-
10
-
11
- def setup
12
- size 640, 360
13
- @arm = SpinArm.new width/2, height/2, 0.01
14
- @spots = SpinSpots.new width/2, height/2, -0.02, 90.0
15
- end
16
-
17
- def draw
18
- background 204
19
- @arm.display
20
- @spots.display
21
- end
22
-
23
- # vvv CLASS SPIN
24
-
25
- class Spin
26
-
27
- attr_accessor :x, :y, :speed
28
- attr_accessor :angle
29
-
30
- def initialize(x, y, s)
31
- @x, @y = x, y
32
- @speed = s
33
- @angle = 0.0
34
- end
35
-
36
- def update
37
- @angle += speed
38
- end
39
-
40
- end
41
-
42
- # ^^^ CLASS SPIN
43
-
44
- # vvv CLASS SPINARM
45
-
46
- class SpinArm < Spin # inherit from (or "extend") class Spin
47
- # NB: initialize inherited from Spin class
48
-
49
- def display
50
- stroke_weight 1
51
- stroke 0
52
- push_matrix
53
- translate x, y
54
- update
55
- rotate angle
56
- line 0, 0, 165, 0
57
- pop_matrix
58
- end
59
- end
60
-
61
- # ^^^ CLASS SPINARM
62
-
63
- # vvv CLASS SPINSPOTS
64
-
65
- class SpinSpots < Spin
66
- attr_accessor :dim
67
- def initialize (x, y, s, d)
68
- super(x, y, s)
69
- @dim = d
70
- end
71
-
72
- def display
73
- no_stroke
74
- push_matrix
75
- translate x, y
76
- update
77
- rotate angle
78
- ellipse(-dim/2, 0, dim, dim)
79
- ellipse(dim/2, 0, dim, dim)
80
- pop_matrix
81
- end
82
- end
83
-
84
- # ^^^ CLASS SPINSPOTS
@@ -1,88 +0,0 @@
1
- # Inheritance
2
- #
3
- # A class can be defined using another class as a foundation. In object-oriented
4
- # programming terminology, one class can inherit fields and methods from another.
5
- # An object that inherits from another is called a subclass, and the object it
6
- # inherits from is called a superclass. A subclass extends the superclass.
7
- # NB: note the use of hook means inheriting class does not need to call super
8
-
9
-
10
- def setup
11
- size 640, 360
12
- @arm = SpinArm.new({ x: width/2, y: height/2, s: 0.01 })
13
- @spots = SpinSpots.new({ x: width/2, y: height/2, s: -0.02, d: 90.0 })
14
- end
15
-
16
- def draw
17
- background 204
18
- @arm.display
19
- @spots.display
20
- end
21
-
22
- # vvv CLASS SPIN
23
-
24
- class Spin
25
-
26
- attr_accessor :x, :y, :speed
27
- attr_accessor :angle
28
-
29
- def initialize(args = {})
30
- @x, @y = args[:x], args[:y]
31
- @speed = args[:s]
32
- @angle = args[:angle] || 0.0
33
- post_initialize(args) # this is the hook
34
- end
35
-
36
- def update
37
- @angle += speed
38
- end
39
-
40
- def post_initialize args
41
- nil
42
- end
43
-
44
- end
45
-
46
- # ^^^ CLASS SPIN
47
-
48
- # vvv CLASS SPINARM
49
-
50
- class SpinArm < Spin # inherit from (or "extend") class Spin
51
- # NB: initialize inherited from Spin class
52
-
53
- def display
54
- stroke_weight 1
55
- stroke 0
56
- push_matrix
57
- translate x, y
58
- update
59
- rotate angle
60
- line 0, 0, 165, 0
61
- pop_matrix
62
- end
63
- end
64
-
65
- # ^^^ CLASS SPINARM
66
-
67
- # vvv CLASS SPINSPOTS
68
-
69
- class SpinSpots < Spin
70
- attr_accessor :dim
71
-
72
- def post_initialize args
73
- @dim = args[:d]
74
- end
75
-
76
- def display
77
- no_stroke
78
- push_matrix
79
- translate x, y
80
- update
81
- rotate angle
82
- ellipse(-dim/2, 0, dim, dim)
83
- ellipse(dim/2, 0, dim, dim)
84
- pop_matrix
85
- end
86
- end
87
-
88
- # ^^^ CLASS SPINSPOTS
@@ -1,89 +0,0 @@
1
- # Ruby modules, are another way of extending a classes behaviour, the class
2
- # ParticleSystem includes Enumerable (from ruby core) and our custom Runnable
3
- # module. Here we use the module Runnable to capture behaviour that can be
4
- # shared between different classes. Modules are also very useful for wrapping
5
- # imported classes (wrapped packages can then be called using convenient names).
6
-
7
- # This example is bit complicated, because Enumerable and Forwardable are used
8
- # to make the ParticleSystem behave as though it were an Array. This is very
9
- # convenient and is preferred to ParticleSystem subclassing Array.
10
-
11
- # Ported from http://processing.org/learning/topics/simpleparticlesystem.html
12
-
13
-
14
- require 'forwardable'
15
-
16
- load_library :vecmath
17
-
18
- attr_reader :ps
19
-
20
- def setup
21
- size(640,360)
22
- @ps = ParticleSystem.new(Vec2D.new(width/2, 50))
23
- end
24
-
25
- def draw
26
- background(0)
27
- ps.add_particle
28
- ps.run
29
- end
30
-
31
- module Runnable
32
- def run
33
- self.reject! { |item| item.lifespan <= 0 }
34
- self.each { |item| item.run }
35
- end
36
- end
37
-
38
- class ParticleSystem
39
- extend Forwardable
40
- def_delegators(:@particle_system, :each, :<<, :reject!)
41
- include Enumerable
42
- include Runnable
43
-
44
- attr_reader :origin
45
-
46
- def initialize(loc)
47
- @particle_system = []
48
- @origin = Vec2D.new(loc.x, loc.y)
49
- end
50
-
51
- def add_particle
52
- self << Particle.new(origin)
53
- end
54
-
55
- end
56
-
57
- # A simple Particle class
58
-
59
- class Particle
60
- include Processing::Proxy
61
-
62
- attr_reader :loc, :vel, :acc, :lifespan
63
- def initialize(loc)
64
- @acc = Vec2D.new(0, 0.05)
65
- @vel = Vec2D.new(rand(-1.0..1), rand(-2.0..0))
66
- @loc = loc # loc.clone is unecessary in ruby
67
- @lifespan = 255.0
68
- end
69
-
70
- def run
71
- update
72
- display
73
- end
74
-
75
- # Method to update loc
76
- def update
77
- @vel += acc
78
- @loc += vel
79
- @lifespan -= 1.0
80
- end
81
-
82
- # Method to display
83
- def display
84
- stroke(255,lifespan)
85
- fill(255,lifespan)
86
- ellipse(loc.x, loc.y, 8, 8)
87
- end
88
-
89
- end