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.
- checksums.yaml +4 -4
- data/lib/rpextras.jar +0 -0
- data/lib/ruby-processing/app.rb +56 -48
- data/lib/ruby-processing/helper_methods.rb +11 -12
- data/lib/ruby-processing/library_loader.rb +19 -10
- data/lib/ruby-processing/runner.rb +49 -36
- data/lib/ruby-processing/version.rb +1 -1
- data/lib/templates/application/run.erb +3 -0
- data/library/boids/boids.rb +36 -32
- data/vendors/Rakefile +36 -7
- metadata +3 -734
- data/samples/Rakefile +0 -21
- data/samples/configRP5/configRP5.pde +0 -147
- data/samples/contributed/Rakefile +0 -30
- data/samples/contributed/animator.rb +0 -48
- data/samples/contributed/bezier_playground.rb +0 -204
- data/samples/contributed/circle_collision.rb +0 -129
- data/samples/contributed/drawolver.rb +0 -96
- data/samples/contributed/elegant_ball.rb +0 -165
- data/samples/contributed/empathy.rb +0 -78
- data/samples/contributed/fern.rb +0 -51
- data/samples/contributed/fibonacci_sphere.rb +0 -86
- data/samples/contributed/flight_patterns.rb +0 -63
- data/samples/contributed/full_screen.rb +0 -29
- data/samples/contributed/getting_started.rb +0 -24
- data/samples/contributed/grapher.rb +0 -36
- data/samples/contributed/gravity.rb +0 -106
- data/samples/contributed/jwishy.rb +0 -95
- data/samples/contributed/mandelbrot.rb +0 -79
- data/samples/contributed/orbit.rb +0 -41
- data/samples/contributed/quadraticvertex.rb +0 -106
- data/samples/contributed/re_sample.rb +0 -27
- data/samples/contributed/reflection.rb +0 -17
- data/samples/contributed/tree.rb +0 -72
- data/samples/external_library/java_processing/README +0 -3
- data/samples/external_library/java_processing/box2d_processing/bumpy_surface_noise.rb +0 -52
- data/samples/external_library/java_processing/box2d_processing/data/java_args.txt +0 -2
- data/samples/external_library/java_processing/box2d_processing/library/custom_shape/custom_shape.rb +0 -158
- data/samples/external_library/java_processing/box2d_processing/library/particle_system/particle_system.rb +0 -209
- data/samples/external_library/java_processing/box2d_processing/library/surface/surface.rb +0 -154
- data/samples/external_library/java_processing/box2d_processing/liquidy.rb +0 -58
- data/samples/external_library/java_processing/box2d_processing/polygons.rb +0 -53
- data/samples/external_library/java_processing/custom/README.md +0 -16
- data/samples/external_library/java_processing/custom/Rakefile +0 -22
- data/samples/external_library/java_processing/custom/ext/nn/Connection.java +0 -47
- data/samples/external_library/java_processing/custom/ext/nn/HiddenNeuron.java +0 -20
- data/samples/external_library/java_processing/custom/ext/nn/InputNeuron.java +0 -23
- data/samples/external_library/java_processing/custom/ext/nn/Network.java +0 -136
- data/samples/external_library/java_processing/custom/ext/nn/Neuron.java +0 -79
- data/samples/external_library/java_processing/custom/ext/nn/OutputNeuron.java +0 -7
- data/samples/external_library/java_processing/custom/landscape.rb +0 -60
- data/samples/external_library/java_processing/custom/xor.rb +0 -88
- data/samples/external_library/java_processing/fisica/README +0 -1
- data/samples/external_library/java_processing/fisica/bubbles.rb +0 -80
- data/samples/external_library/java_processing/fisica/joints.rb +0 -112
- data/samples/external_library/java_processing/fisica/polygons.rb +0 -79
- data/samples/external_library/java_processing/fisica/raycast.rb +0 -61
- data/samples/external_library/java_processing/generative_design/mesh_example.rb +0 -25
- data/samples/external_library/java_processing/generative_design/node_spring_attractor.rb +0 -83
- data/samples/external_library/java_processing/generative_design/sub_class_example.rb +0 -44
- data/samples/external_library/java_processing/geomerative/data/FreeSans.ttf +0 -0
- data/samples/external_library/java_processing/geomerative/data/Toucan.svg +0 -43
- data/samples/external_library/java_processing/geomerative/hello_bot_ignore_styles.rb +0 -38
- data/samples/external_library/java_processing/geomerative/hello_world_rotate_firstletter.rb +0 -43
- data/samples/external_library/java_processing/geomerative/hola_mundo.rb +0 -37
- data/samples/external_library/java_processing/grafica/data/OktoberfestVSGermanElections.csv +0 -118
- data/samples/external_library/java_processing/grafica/default_plot.rb +0 -30
- data/samples/external_library/java_processing/grafica/multiple_panels.rb +0 -117
- data/samples/external_library/java_processing/grafica/oktoberfest_example.rb +0 -83
- data/samples/external_library/java_processing/guido/slider.rb +0 -54
- data/samples/external_library/java_processing/hemesh/data/java_args.txt +0 -2
- data/samples/external_library/java_processing/hemesh/library/vbo/mesh_to_vbo.rb +0 -43
- data/samples/external_library/java_processing/hemesh/twin_iso.rb +0 -69
- data/samples/external_library/java_processing/pbox2d/bumpy_surface_noise.rb +0 -57
- data/samples/external_library/java_processing/pbox2d/contact_test.rb +0 -23
- data/samples/external_library/java_processing/pbox2d/data/java_args.txt +0 -2
- data/samples/external_library/java_processing/pbox2d/library/custom_shape/custom_shape.rb +0 -158
- data/samples/external_library/java_processing/pbox2d/library/particle_system/particle_system.rb +0 -212
- data/samples/external_library/java_processing/pbox2d/library/surface/surface.rb +0 -154
- data/samples/external_library/java_processing/pbox2d/liquidy.rb +0 -58
- data/samples/external_library/java_processing/pbox2d/polygons.rb +0 -58
- data/samples/external_library/java_processing/peasy_cam/hello_peasy.rb +0 -29
- data/samples/external_library/java_processing/peasy_cam/hilbert_fractal.rb +0 -34
- data/samples/external_library/java_processing/peasy_cam/library/hilbert/hilbert.rb +0 -100
- data/samples/external_library/java_processing/proscene/cad_camera.rb +0 -57
- data/samples/external_library/java_processing/proscene/camera_customization.rb +0 -114
- data/samples/external_library/java_processing/proscene/data/ti_yong.png +0 -0
- data/samples/external_library/java_processing/toxiclibs/data/ti_yong.png +0 -0
- data/samples/external_library/java_processing/toxiclibs/gray_scott_image.rb +0 -79
- data/samples/external_library/java_processing/toxiclibs/gray_scott_tone_map.rb +0 -78
- data/samples/external_library/java_processing/toxiclibs/implicit.rb +0 -143
- data/samples/external_library/java_processing/toxiclibs/library/vbo/mesh_to_vbo.rb +0 -52
- data/samples/external_library/java_processing/toxiclibs/library/vbo/vbo.rb +0 -52
- data/samples/external_library/java_processing/toxiclibs/model_align.rb +0 -48
- data/samples/external_library/ruby_gem/README +0 -12
- data/samples/external_library/ruby_gem/data/README.txt +0 -1
- data/samples/external_library/ruby_gem/data/data.json +0 -8
- data/samples/external_library/ruby_gem/data/java_args.txt +0 -2
- data/samples/external_library/ruby_gem/draw_test.rb +0 -171
- data/samples/external_library/ruby_gem/game_of_life.rb +0 -127
- data/samples/external_library/ruby_gem/mdarray_test.rb +0 -28
- data/samples/processing_app/ABOUT +0 -3
- data/samples/processing_app/basics/arrays/array.rb +0 -35
- data/samples/processing_app/basics/arrays/array_2d.rb +0 -32
- data/samples/processing_app/basics/arrays/array_objects.rb +0 -62
- data/samples/processing_app/basics/camera/move_eye.rb +0 -24
- data/samples/processing_app/basics/camera/perspective.rb +0 -36
- data/samples/processing_app/basics/color/blend_color.rb +0 -17
- data/samples/processing_app/basics/color/brightness.rb +0 -24
- data/samples/processing_app/basics/color/color_wheel.rb +0 -90
- data/samples/processing_app/basics/color/creating.rb +0 -48
- data/samples/processing_app/basics/color/hue.rb +0 -23
- data/samples/processing_app/basics/color/linear_gradient.rb +0 -42
- data/samples/processing_app/basics/color/radial_gradient.rb +0 -44
- data/samples/processing_app/basics/color/reading/data/cait.jpg +0 -0
- data/samples/processing_app/basics/color/reading/reading.rb +0 -29
- data/samples/processing_app/basics/color/relativity.rb +0 -25
- data/samples/processing_app/basics/color/saturation.rb +0 -24
- data/samples/processing_app/basics/color/wave_gradient.rb +0 -34
- data/samples/processing_app/basics/control/conditionals1.rb +0 -27
- data/samples/processing_app/basics/control/conditionals2.rb +0 -39
- data/samples/processing_app/basics/control/embedded_iteration.rb +0 -34
- data/samples/processing_app/basics/control/iteration.rb +0 -50
- data/samples/processing_app/basics/control/logical_operators.rb +0 -56
- data/samples/processing_app/basics/data/characters_strings.rb +0 -50
- data/samples/processing_app/basics/data/datatype_conversion.rb +0 -41
- data/samples/processing_app/basics/data/integers_floats.rb +0 -28
- data/samples/processing_app/basics/data/true_false.rb +0 -31
- data/samples/processing_app/basics/data/variable_scope.rb +0 -74
- data/samples/processing_app/basics/data/variables.rb +0 -35
- data/samples/processing_app/basics/form/bezier.rb +0 -20
- data/samples/processing_app/basics/form/bezier_ellipse.rb +0 -99
- data/samples/processing_app/basics/form/brick_tower.rb +0 -89
- data/samples/processing_app/basics/form/cubic_grid.rb +0 -39
- data/samples/processing_app/basics/form/icosahedra.rb +0 -39
- data/samples/processing_app/basics/form/library/icosahedron/icosahedron.rb +0 -60
- data/samples/processing_app/basics/form/pie_chart.rb +0 -27
- data/samples/processing_app/basics/form/points_lines.rb +0 -32
- data/samples/processing_app/basics/form/primitives.rb +0 -28
- data/samples/processing_app/basics/form/regular_polygon.rb +0 -46
- data/samples/processing_app/basics/form/rgb_cube.rb +0 -68
- data/samples/processing_app/basics/form/shape_primitives.rb +0 -23
- data/samples/processing_app/basics/form/shape_transform.rb +0 -83
- data/samples/processing_app/basics/form/star.rb +0 -48
- data/samples/processing_app/basics/form/toroid.rb +0 -108
- data/samples/processing_app/basics/form/triangle_strip.rb +0 -39
- data/samples/processing_app/basics/form/vertices.rb +0 -47
- data/samples/processing_app/basics/image/alphamask.rb +0 -17
- data/samples/processing_app/basics/image/background_image.rb +0 -24
- data/samples/processing_app/basics/image/create_image.rb +0 -17
- data/samples/processing_app/basics/image/data/construct.jpg +0 -0
- data/samples/processing_app/basics/image/data/eames.jpg +0 -0
- data/samples/processing_app/basics/image/data/jelly.jpg +0 -0
- data/samples/processing_app/basics/image/data/mask.jpg +0 -0
- data/samples/processing_app/basics/image/data/milan_rubbish.jpg +0 -0
- data/samples/processing_app/basics/image/data/teddy.gif +0 -0
- data/samples/processing_app/basics/image/data/test.jpg +0 -0
- data/samples/processing_app/basics/image/data/wash.jpg +0 -0
- data/samples/processing_app/basics/image/data/ystone08.jpg +0 -0
- data/samples/processing_app/basics/image/extrusion.rb +0 -46
- data/samples/processing_app/basics/image/load_display_image.rb +0 -18
- data/samples/processing_app/basics/image/pointillism.rb +0 -24
- data/samples/processing_app/basics/image/request_image.rb +0 -62
- data/samples/processing_app/basics/image/sprite.rb +0 -32
- data/samples/processing_app/basics/image/transparency.rb +0 -21
- data/samples/processing_app/basics/image/zoom.rb +0 -59
- data/samples/processing_app/basics/input/clock.rb +0 -46
- data/samples/processing_app/basics/input/constrain.rb +0 -33
- data/samples/processing_app/basics/input/easing.rb +0 -31
- data/samples/processing_app/basics/input/keyboard.rb +0 -24
- data/samples/processing_app/basics/input/keyboard_functions.rb +0 -59
- data/samples/processing_app/basics/input/milliseconds.rb +0 -20
- data/samples/processing_app/basics/input/mouse_1d.rb +0 -27
- data/samples/processing_app/basics/input/mouse_2d.rb +0 -19
- data/samples/processing_app/basics/input/mouse_functions.rb +0 -68
- data/samples/processing_app/basics/input/mouse_press.rb +0 -15
- data/samples/processing_app/basics/input/mouse_signals.rb +0 -40
- data/samples/processing_app/basics/input/storing_input.rb +0 -38
- data/samples/processing_app/basics/lights/directional.rb +0 -37
- data/samples/processing_app/basics/lights/lights1.rb +0 -35
- data/samples/processing_app/basics/lights/lights2.rb +0 -38
- data/samples/processing_app/basics/lights/reflection.rb +0 -35
- data/samples/processing_app/basics/lights/spot.rb +0 -36
- data/samples/processing_app/basics/math/additive_wave.rb +0 -64
- data/samples/processing_app/basics/math/arctangent.rb +0 -44
- data/samples/processing_app/basics/math/distance1.rb +0 -53
- data/samples/processing_app/basics/math/distance2.rb +0 -22
- data/samples/processing_app/basics/math/double_random.rb +0 -31
- data/samples/processing_app/basics/math/graphing_2_d_equation.rb +0 -39
- data/samples/processing_app/basics/math/increment_decrement.rb +0 -54
- data/samples/processing_app/basics/math/interpolate.rb +0 -34
- data/samples/processing_app/basics/math/modulo.rb +0 -39
- data/samples/processing_app/basics/math/noise_1_d.rb +0 -21
- data/samples/processing_app/basics/math/noise_2_d.rb +0 -30
- data/samples/processing_app/basics/math/noise_3_d.rb +0 -30
- data/samples/processing_app/basics/math/noise_wave.rb +0 -41
- data/samples/processing_app/basics/math/operator_precedence.rb +0 -49
- data/samples/processing_app/basics/math/polar_to_cartesian.rb +0 -31
- data/samples/processing_app/basics/math/random.rb +0 -21
- data/samples/processing_app/basics/math/random_gaussian.rb +0 -23
- data/samples/processing_app/basics/math/sine.rb +0 -35
- data/samples/processing_app/basics/math/sine_cosine.rb +0 -48
- data/samples/processing_app/basics/math/sine_wave.rb +0 -43
- data/samples/processing_app/basics/objects/composite_objects.rb +0 -113
- data/samples/processing_app/basics/objects/inheritance.rb +0 -84
- data/samples/processing_app/basics/objects/inheritance_two.rb +0 -88
- data/samples/processing_app/basics/objects/module.rb +0 -89
- data/samples/processing_app/basics/objects/module_two.rb +0 -111
- data/samples/processing_app/basics/objects/multiple_constructors.rb +0 -58
- data/samples/processing_app/basics/objects/objects.rb +0 -57
- data/samples/processing_app/basics/objects/struct.rb +0 -38
- data/samples/processing_app/basics/shape/data/bot1.svg +0 -160
- data/samples/processing_app/basics/shape/data/rocket.mtl +0 -8
- data/samples/processing_app/basics/shape/data/rocket.obj +0 -1688
- data/samples/processing_app/basics/shape/data/rocket.png +0 -0
- data/samples/processing_app/basics/shape/data/usa-wikipedia.svg +0 -452
- data/samples/processing_app/basics/shape/disable_style.rb +0 -32
- data/samples/processing_app/basics/shape/get_child.rb +0 -40
- data/samples/processing_app/basics/shape/load_display_obj.rb +0 -25
- data/samples/processing_app/basics/shape/load_display_shape.rb +0 -20
- data/samples/processing_app/basics/shape/load_display_svg.rb +0 -22
- data/samples/processing_app/basics/shape/scale_shape.rb +0 -23
- data/samples/processing_app/basics/structure/coordinates.rb +0 -42
- data/samples/processing_app/basics/structure/create_graphics.rb +0 -29
- data/samples/processing_app/basics/structure/functions.rb +0 -29
- data/samples/processing_app/basics/structure/loop.rb +0 -30
- data/samples/processing_app/basics/structure/noloop.rb +0 -21
- data/samples/processing_app/basics/structure/recursion1.rb +0 -27
- data/samples/processing_app/basics/structure/recursion2.rb +0 -23
- data/samples/processing_app/basics/structure/redraw.rb +0 -25
- data/samples/processing_app/basics/structure/setup_draw.rb +0 -19
- data/samples/processing_app/basics/structure/statements_comments.rb +0 -26
- data/samples/processing_app/basics/structure/width_height.rb +0 -22
- data/samples/processing_app/basics/textures/data/berlin-1.jpg +0 -0
- data/samples/processing_app/basics/textures/texture1.rb +0 -28
- data/samples/processing_app/basics/textures/texture2.rb +0 -33
- data/samples/processing_app/basics/textures/texture3.rb +0 -44
- data/samples/processing_app/basics/textures/texture_cube.rb +0 -86
- data/samples/processing_app/basics/transform/arm.rb +0 -32
- data/samples/processing_app/basics/transform/bird.rb +0 -57
- data/samples/processing_app/basics/transform/birds.rb +0 -29
- data/samples/processing_app/basics/transform/cubes_in_cube.rb +0 -102
- data/samples/processing_app/basics/transform/library/bird/bird.rb +0 -87
- data/samples/processing_app/basics/transform/library/cube/cube.rb +0 -55
- data/samples/processing_app/basics/transform/rotate.rb +0 -34
- data/samples/processing_app/basics/transform/rotate1.rb +0 -27
- data/samples/processing_app/basics/transform/rotate_push_pop.rb +0 -35
- data/samples/processing_app/basics/transform/rotate_x_y.rb +0 -36
- data/samples/processing_app/basics/transform/scale.rb +0 -29
- data/samples/processing_app/basics/transform/translate.rb +0 -27
- data/samples/processing_app/basics/transform/triangle_flower.rb +0 -52
- data/samples/processing_app/basics/typography/data/CourierNew36.vlw +0 -0
- data/samples/processing_app/basics/typography/data/Univers45.vlw +0 -0
- data/samples/processing_app/basics/typography/data/Ziggurat-HTF-Black-32.vlw +0 -0
- data/samples/processing_app/basics/typography/kinetic_type.rb +0 -76
- data/samples/processing_app/basics/typography/letters.rb +0 -34
- data/samples/processing_app/basics/typography/words.rb +0 -36
- data/samples/processing_app/basics/web/embedded_links.rb +0 -52
- data/samples/processing_app/basics/web/loading_images.rb +0 -15
- data/samples/processing_app/demos/graphics/bezier_patch.rb +0 -177
- data/samples/processing_app/demos/graphics/data/frag.glsl +0 -30
- data/samples/processing_app/demos/graphics/data/java_args.txt +0 -2
- data/samples/processing_app/demos/graphics/data/mercury.jpg +0 -0
- data/samples/processing_app/demos/graphics/data/planet.jpg +0 -0
- data/samples/processing_app/demos/graphics/data/starfield.jpg +0 -0
- data/samples/processing_app/demos/graphics/data/sun.jpg +0 -0
- data/samples/processing_app/demos/graphics/data/vert.glsl +0 -31
- data/samples/processing_app/demos/graphics/low_level_gl.rb +0 -72
- data/samples/processing_app/demos/graphics/planets.rb +0 -51
- data/samples/processing_app/demos/graphics/trefoil.rb +0 -152
- data/samples/processing_app/demos/graphics/wiggling.rb +0 -287
- data/samples/processing_app/demos/performance/cubic_grid_retained.rb +0 -58
- data/samples/processing_app/demos/performance/data/java_args.txt +0 -1
- data/samples/processing_app/demos/performance/esfera.rb +0 -93
- data/samples/processing_app/demos/performance/text_rendering.rb +0 -14
- data/samples/processing_app/demos/tests/no_background_test.rb +0 -10
- data/samples/processing_app/demos/tests/offscreen_test.rb +0 -34
- data/samples/processing_app/demos/tests/redraw_test.rb +0 -14
- data/samples/processing_app/demos/tests/resize_test.rb +0 -10
- data/samples/processing_app/demos/tests/restart_test.rb +0 -22
- data/samples/processing_app/demos/tests/smooth_test.rb +0 -27
- data/samples/processing_app/demos/tests/specs_test.rb +0 -11
- data/samples/processing_app/library/dxf/simple_export.rb +0 -48
- data/samples/processing_app/library/fastmath/clock.rb +0 -46
- data/samples/processing_app/library/file_chooser/image_viewer.rb +0 -23
- data/samples/processing_app/library/minim/filter_example.rb +0 -65
- data/samples/processing_app/library/minim/frequency_modulation.rb +0 -64
- data/samples/processing_app/library/minim/sequence_sound.rb +0 -59
- data/samples/processing_app/library/minim/synthesize_sound.rb +0 -35
- data/samples/processing_app/library/movie/README +0 -1
- data/samples/processing_app/library/movie/data/transit.mkv +0 -0
- data/samples/processing_app/library/movie/data/transit.mov +0 -0
- data/samples/processing_app/library/movie/loop.rb +0 -24
- data/samples/processing_app/library/movie/pixelate.rb +0 -50
- data/samples/processing_app/library/movie/reverse.rb +0 -47
- data/samples/processing_app/library/movie/scratch.rb +0 -36
- data/samples/processing_app/library/movie/speed.rb +0 -33
- data/samples/processing_app/library/net/HTTPClient.rb +0 -33
- data/samples/processing_app/library/pdf/complex_3D.rb +0 -162
- data/samples/processing_app/library/pdf/large_page.rb +0 -25
- data/samples/processing_app/library/pdf/many_frames.rb +0 -33
- data/samples/processing_app/library/pdf/many_pages.rb +0 -31
- data/samples/processing_app/library/pdf/many_pdfs.rb +0 -37
- data/samples/processing_app/library/pdf/one_frame.rb +0 -19
- data/samples/processing_app/library/vecmath/arcball/Rakefile +0 -30
- data/samples/processing_app/library/vecmath/arcball/arcball_box.rb +0 -23
- data/samples/processing_app/library/vecmath/arcball/arcball_radius.rb +0 -23
- data/samples/processing_app/library/vecmath/arcball/arcball_shape.rb +0 -29
- data/samples/processing_app/library/vecmath/vec2d/README.txt +0 -2
- data/samples/processing_app/library/vecmath/vec2d/Rakefile +0 -30
- data/samples/processing_app/library/vecmath/vec2d/acceleration_with_vectors.rb +0 -74
- data/samples/processing_app/library/vecmath/vec2d/bouncing_ball.rb +0 -45
- data/samples/processing_app/library/vecmath/vec2d/circle_collision.rb +0 -169
- data/samples/processing_app/library/vecmath/vec2d/data/java_args.txt +0 -2
- data/samples/processing_app/library/vecmath/vec2d/data/sprite.png +0 -0
- data/samples/processing_app/library/vecmath/vec2d/data/texture.png +0 -0
- data/samples/processing_app/library/vecmath/vec2d/flocking.rb +0 -30
- data/samples/processing_app/library/vecmath/vec2d/library/flock/flock.rb +0 -191
- data/samples/processing_app/library/vecmath/vec2d/library/particle/particle.rb +0 -113
- data/samples/processing_app/library/vecmath/vec2d/library/tile/tile.rb +0 -85
- data/samples/processing_app/library/vecmath/vec2d/morph.rb +0 -87
- data/samples/processing_app/library/vecmath/vec2d/particle_system_pshape.rb +0 -36
- data/samples/processing_app/library/vecmath/vec2d/penrose.rb +0 -71
- data/samples/processing_app/library/vecmath/vec2d/reflection1.rb +0 -108
- data/samples/processing_app/library/vecmath/vec2d/seeking_neural.rb +0 -169
- data/samples/processing_app/library/vecmath/vec2d/simple_particle_system.rb +0 -85
- data/samples/processing_app/library/vecmath/vec2d/vector_math.rb +0 -39
- data/samples/processing_app/library/vecmath/vec2d/wiggle_pshape.rb +0 -74
- data/samples/processing_app/library/vecmath/vec3d/Rakefile +0 -30
- data/samples/processing_app/library/vecmath/vec3d/drawolver.rb +0 -86
- data/samples/processing_app/library/vecmath/vec3d/frame_of_reference.rb +0 -103
- data/samples/processing_app/library/vecmath/vec3d/hilbert_fractal.rb +0 -37
- data/samples/processing_app/library/vecmath/vec3d/library/geometry/geometry.rb +0 -3
- data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/cylinder.rb +0 -44
- data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/mat4.rb +0 -28
- data/samples/processing_app/library/vecmath/vec3d/library/geometry/lib/plane.rb +0 -60
- data/samples/processing_app/library/vecmath/vec3d/library/hilbert/hilbert.rb +0 -84
- data/samples/processing_app/library/vecmath/vec3d/note.txt +0 -1
- data/samples/processing_app/library/vecmath/vec3d/retained_menger.rb +0 -115
- data/samples/processing_app/topics/advanced_data/README +0 -1
- data/samples/processing_app/topics/advanced_data/Rakefile +0 -30
- data/samples/processing_app/topics/advanced_data/counting_words.rb +0 -79
- data/samples/processing_app/topics/advanced_data/data/Georgia.ttf +0 -0
- data/samples/processing_app/topics/advanced_data/data/Merriweather-Light.ttf +0 -0
- data/samples/processing_app/topics/advanced_data/data/a000 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a001 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a002 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a003 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a004 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a005 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a006 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a007 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a008 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a009 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a010 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a011 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a012 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a013 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a014 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a015 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a016 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a017 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a018 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a019 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a020 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a021 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a022 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a023 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a024 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a025 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a026 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a027 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a028 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a029 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a030 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a031 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a032 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a033 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a034 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a035 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a036 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a037 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a038 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a039 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a040 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a041 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a042 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a043 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a044 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a045 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a046 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a047 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a048 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a049 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a050 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a051 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a052 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a053 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a054 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a055 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a056 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a057 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a058 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a059 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a060 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a061 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a062 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a063 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a064 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a065 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a066 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a067 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a068 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a069 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a070 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a071 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a072 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a073 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a074 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a075 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a076 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a077 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a078 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a079 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a080 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a081 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a082 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a083 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a084 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a085 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a086 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a087 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a088 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a089 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a090 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a091 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a092 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a093 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a094 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a095 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a096 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a097 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a098 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a099 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a100 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a101 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a102 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a103 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a104 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a105 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a106 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a107 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a108 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a109 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a110 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a111 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a112 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a113 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a114 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/a115 copy.jpg +0 -0
- data/samples/processing_app/topics/advanced_data/data/data.csv +0 -5
- data/samples/processing_app/topics/advanced_data/data/data.json +0 -36
- data/samples/processing_app/topics/advanced_data/data/data.xml +0 -23
- data/samples/processing_app/topics/advanced_data/data/data.yml +0 -22
- data/samples/processing_app/topics/advanced_data/data/dracula.txt +0 -16624
- data/samples/processing_app/topics/advanced_data/data/frankenstein.txt +0 -7652
- data/samples/processing_app/topics/advanced_data/data/struct_data.yml +0 -27
- data/samples/processing_app/topics/advanced_data/library/bubble/bubble.rb +0 -45
- data/samples/processing_app/topics/advanced_data/library/word/word.rb +0 -64
- data/samples/processing_app/topics/advanced_data/load_save_XML.rb +0 -113
- data/samples/processing_app/topics/advanced_data/load_save_json.rb +0 -93
- data/samples/processing_app/topics/advanced_data/load_save_struct_yaml.rb +0 -84
- data/samples/processing_app/topics/advanced_data/load_save_table.rb +0 -85
- data/samples/processing_app/topics/advanced_data/load_save_yaml.rb +0 -87
- data/samples/processing_app/topics/advanced_data/regex.rb +0 -46
- data/samples/processing_app/topics/advanced_data/threads.rb +0 -96
- data/samples/processing_app/topics/advanced_data/threads_two.rb +0 -52
- data/samples/processing_app/topics/advanced_data/word_frequency.rb +0 -80
- data/samples/processing_app/topics/advanced_data/yahoo_weather.rb +0 -39
- data/samples/processing_app/topics/animation/README.txt +0 -1
- data/samples/processing_app/topics/animation/animated_sprite.rb +0 -57
- data/samples/processing_app/topics/animation/data/PT_Shifty_0000.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0001.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0002.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0003.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0004.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0005.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0006.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0007.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0008.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0009.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0010.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0011.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0012.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0013.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0014.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0015.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0016.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0017.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0018.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0019.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0020.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0021.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0022.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0023.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0024.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0025.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0026.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0027.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0028.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0029.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0030.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0031.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0032.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0033.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0034.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0035.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0036.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Shifty_0037.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0000.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0001.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0002.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0003.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0004.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0005.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0006.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0007.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0008.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0009.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0010.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0011.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0012.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0013.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0014.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0015.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0016.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0017.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0018.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0019.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0020.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0021.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0022.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0023.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0024.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0025.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0026.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0027.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0028.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0029.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0030.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0031.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0032.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0033.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0034.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0035.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0036.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0037.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0038.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0039.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0040.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0041.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0042.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0043.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0044.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0045.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0046.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0047.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0048.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0049.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0050.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0051.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0052.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0053.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0054.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0055.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0056.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0057.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0058.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_Teddy_0059.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0000.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0001.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0002.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0003.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0004.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0005.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0006.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0007.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0008.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0009.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0010.gif +0 -0
- data/samples/processing_app/topics/animation/data/PT_anim0011.gif +0 -0
- data/samples/processing_app/topics/animation/sequential.rb +0 -41
- data/samples/processing_app/topics/cellular_automata/game_of_life.rb +0 -125
- data/samples/processing_app/topics/cellular_automata/library/ca/ca.rb +0 -91
- data/samples/processing_app/topics/cellular_automata/library/cell/cell.rb +0 -99
- data/samples/processing_app/topics/cellular_automata/library/simple_cell/simple_cell.rb +0 -46
- data/samples/processing_app/topics/cellular_automata/spore1.rb +0 -94
- data/samples/processing_app/topics/cellular_automata/spore2.rb +0 -101
- data/samples/processing_app/topics/cellular_automata/wolfram.rb +0 -42
- data/samples/processing_app/topics/create_shapes/begin_end_contour.rb +0 -44
- data/samples/processing_app/topics/create_shapes/data/sprite.png +0 -0
- data/samples/processing_app/topics/create_shapes/group_pshape.rb +0 -69
- data/samples/processing_app/topics/create_shapes/library/particle/particle_system.rb +0 -107
- data/samples/processing_app/topics/create_shapes/library/polygon/polygon.rb +0 -35
- data/samples/processing_app/topics/create_shapes/library/star/star.rb +0 -47
- data/samples/processing_app/topics/create_shapes/library/wiggler/wiggler.rb +0 -57
- data/samples/processing_app/topics/create_shapes/particle_system_pshape.rb +0 -38
- data/samples/processing_app/topics/create_shapes/path_pshape.rb +0 -38
- data/samples/processing_app/topics/create_shapes/polygon_pshape_oo3.rb +0 -56
- data/samples/processing_app/topics/create_shapes/polygon_pshape_oop.rb +0 -29
- data/samples/processing_app/topics/create_shapes/polygon_pshape_oop2.rb +0 -52
- data/samples/processing_app/topics/create_shapes/polygon_shape.rb +0 -42
- data/samples/processing_app/topics/create_shapes/primitive_pshape.rb +0 -29
- data/samples/processing_app/topics/create_shapes/wiggle_pshape.rb +0 -23
- data/samples/processing_app/topics/drawing/continuous_lines.rb +0 -17
- data/samples/processing_app/topics/drawing/pattern.rb +0 -30
- data/samples/processing_app/topics/drawing/pulses.rb +0 -33
- data/samples/processing_app/topics/drawing/scribble_plotter.rb +0 -77
- data/samples/processing_app/topics/effects/data/red_smoke.jpg +0 -0
- data/samples/processing_app/topics/effects/lens.rb +0 -94
- data/samples/processing_app/topics/file_io/data/positions.txt +0 -206
- data/samples/processing_app/topics/file_io/load_file1.rb +0 -32
- data/samples/processing_app/topics/file_io/save_frames.rb +0 -70
- data/samples/processing_app/topics/file_io/save_one_image.rb +0 -22
- data/samples/processing_app/topics/file_io/tile_images.rb +0 -37
- data/samples/processing_app/topics/gui/button.rb +0 -74
- data/samples/processing_app/topics/gui/data/seedBottom.jpg +0 -0
- data/samples/processing_app/topics/gui/data/seedTop.jpg +0 -0
- data/samples/processing_app/topics/gui/handles.rb +0 -108
- data/samples/processing_app/topics/gui/rollover.rb +0 -63
- data/samples/processing_app/topics/gui/scrollbar.rb +0 -91
- data/samples/processing_app/topics/image_processing/blending.rb +0 -82
- data/samples/processing_app/topics/image_processing/blur.rb +0 -50
- data/samples/processing_app/topics/image_processing/brightness.rb +0 -39
- data/samples/processing_app/topics/image_processing/convolution.rb +0 -72
- data/samples/processing_app/topics/image_processing/data/eames.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/frontier.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/java_args.txt +0 -3
- data/samples/processing_app/topics/image_processing/data/layer1.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/layer2.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/moon-wide.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/moon.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/sea.jpg +0 -0
- data/samples/processing_app/topics/image_processing/data/ystone08.jpg +0 -0
- data/samples/processing_app/topics/image_processing/edge_detection.rb +0 -47
- data/samples/processing_app/topics/image_processing/explode.rb +0 -35
- data/samples/processing_app/topics/image_processing/extrusion.rb +0 -49
- data/samples/processing_app/topics/image_processing/histogram.rb +0 -43
- data/samples/processing_app/topics/image_processing/linear_image.rb +0 -45
- data/samples/processing_app/topics/image_processing/pixel_array.rb +0 -48
- data/samples/processing_app/topics/image_processing/zoom.rb +0 -66
- data/samples/processing_app/topics/lsystems/Rakefile +0 -30
- data/samples/processing_app/topics/lsystems/chequer.rb +0 -66
- data/samples/processing_app/topics/lsystems/csplant.rb +0 -100
- data/samples/processing_app/topics/lsystems/cstest.rb +0 -25
- data/samples/processing_app/topics/lsystems/data/java_args.txt +0 -3
- data/samples/processing_app/topics/lsystems/david_tour.rb +0 -75
- data/samples/processing_app/topics/lsystems/koch.rb +0 -19
- data/samples/processing_app/topics/lsystems/library/cs_grammar/cs_grammar.rb +0 -82
- data/samples/processing_app/topics/lsystems/library/grammar/grammar.rb +0 -31
- data/samples/processing_app/topics/lsystems/library/koch/koch_fractal.rb +0 -99
- data/samples/processing_app/topics/lsystems/library/stochastic_grammar/stochastic_grammar.rb +0 -56
- data/samples/processing_app/topics/lsystems/mpeano.rb +0 -80
- data/samples/processing_app/topics/lsystems/peano.rb +0 -76
- data/samples/processing_app/topics/lsystems/penrose.rb +0 -117
- data/samples/processing_app/topics/lsystems/penrose_snowflake.rb +0 -88
- data/samples/processing_app/topics/lsystems/pentagonal.rb +0 -100
- data/samples/processing_app/topics/lsystems/snake_kolam.rb +0 -93
- data/samples/processing_app/topics/lsystems/stochastic_test.rb +0 -96
- data/samples/processing_app/topics/lsystems/three_d_tree.rb +0 -109
- data/samples/processing_app/topics/motion/Rakefile +0 -30
- data/samples/processing_app/topics/motion/bounce.rb +0 -40
- data/samples/processing_app/topics/motion/bouncy_bubbles.rb +0 -96
- data/samples/processing_app/topics/motion/brownian.rb +0 -40
- data/samples/processing_app/topics/motion/circle_collision.rb +0 -142
- data/samples/processing_app/topics/motion/cubes_in_cube.rb +0 -62
- data/samples/processing_app/topics/motion/data/java_args.txt +0 -3
- data/samples/processing_app/topics/motion/library/cube/cube.rb +0 -128
- data/samples/processing_app/topics/motion/library/ground/ground.rb +0 -42
- data/samples/processing_app/topics/motion/linear.rb +0 -25
- data/samples/processing_app/topics/motion/morph.rb +0 -84
- data/samples/processing_app/topics/motion/moving_on_curves.rb +0 -46
- data/samples/processing_app/topics/motion/puff.rb +0 -78
- data/samples/processing_app/topics/motion/reflection1.rb +0 -108
- data/samples/processing_app/topics/motion/reflection2.rb +0 -122
- data/samples/processing_app/topics/ruby_hook/hooky.rb +0 -26
- data/samples/processing_app/topics/ruby_hook/subclass.rb +0 -75
- data/samples/processing_app/topics/shaders/README +0 -1
- data/samples/processing_app/topics/shaders/Rakefile +0 -30
- data/samples/processing_app/topics/shaders/blur_filter.rb +0 -25
- data/samples/processing_app/topics/shaders/bw_shader.rb +0 -40
- data/samples/processing_app/topics/shaders/conway.rb +0 -26
- data/samples/processing_app/topics/shaders/data/FishEye.glsl +0 -59
- data/samples/processing_app/topics/shaders/data/GlossyFrag.glsl +0 -44
- data/samples/processing_app/topics/shaders/data/GlossyVert.glsl +0 -33
- data/samples/processing_app/topics/shaders/data/Texture01.jpg +0 -0
- data/samples/processing_app/topics/shaders/data/Texture02.jpg +0 -0
- data/samples/processing_app/topics/shaders/data/ToonFrag.glsl +0 -25
- data/samples/processing_app/topics/shaders/data/ToonVert.glsl +0 -31
- data/samples/processing_app/topics/shaders/data/blur.glsl +0 -42
- data/samples/processing_app/topics/shaders/data/bwfrag.glsl +0 -23
- data/samples/processing_app/topics/shaders/data/conway.glsl +0 -57
- data/samples/processing_app/topics/shaders/data/cubemapfrag.glsl +0 -1
- data/samples/processing_app/topics/shaders/data/cubemapvert.glsl +0 -1
- data/samples/processing_app/topics/shaders/data/deform.glsl +0 -31
- data/samples/processing_app/topics/shaders/data/displaceFrag.glsl +0 -8
- data/samples/processing_app/topics/shaders/data/displaceVert.glsl +0 -201
- data/samples/processing_app/topics/shaders/data/edges.glsl +0 -40
- data/samples/processing_app/topics/shaders/data/java_args.txt +0 -2
- data/samples/processing_app/topics/shaders/data/lachoy.jpg +0 -0
- data/samples/processing_app/topics/shaders/data/landscape.glsl +0 -352
- data/samples/processing_app/topics/shaders/data/leaves.jpg +0 -0
- data/samples/processing_app/topics/shaders/data/mask.glsl +0 -19
- data/samples/processing_app/topics/shaders/data/monjori.glsl +0 -30
- data/samples/processing_app/topics/shaders/data/nebula.glsl +0 -111
- data/samples/processing_app/topics/shaders/data/sep_blur.glsl +0 -59
- data/samples/processing_app/topics/shaders/data/tex1.jpg +0 -0
- data/samples/processing_app/topics/shaders/deform.rb +0 -28
- data/samples/processing_app/topics/shaders/edge_detect.rb +0 -28
- data/samples/processing_app/topics/shaders/glossy_fish_eye.rb +0 -57
- data/samples/processing_app/topics/shaders/glsl_heightmap_noise.rb +0 -125
- data/samples/processing_app/topics/shaders/image_mask.rb +0 -31
- data/samples/processing_app/topics/shaders/landscape.rb +0 -32
- data/samples/processing_app/topics/shaders/monjori.rb +0 -28
- data/samples/processing_app/topics/shaders/nebula.rb +0 -18
- data/samples/processing_app/topics/shaders/sep_blur.rb +0 -64
- data/samples/processing_app/topics/shaders/toon_shading.rb +0 -43
- data/samples/processing_app/topics/simulate/README +0 -1
- data/samples/processing_app/topics/simulate/chain.rb +0 -80
- data/samples/processing_app/topics/simulate/data/java_args.txt +0 -2
- data/samples/processing_app/topics/simulate/data/texture.gif +0 -0
- data/samples/processing_app/topics/simulate/data/texture.png +0 -0
- data/samples/processing_app/topics/simulate/flocking.rb +0 -32
- data/samples/processing_app/topics/simulate/library/flock/flock.rb +0 -203
- data/samples/processing_app/topics/simulate/multiple_particle_systems.rb +0 -133
- data/samples/processing_app/topics/simulate/simple_particle_system.rb +0 -78
- data/samples/processing_app/topics/simulate/smoke_particle_system.rb +0 -125
- data/samples/processing_app/topics/simulate/spring.rb +0 -80
- data/samples/processing_app/topics/simulate/springs.rb +0 -120
- data/samples/processing_app/topics/vectors/acceleration_with_vectors.rb +0 -78
- data/samples/processing_app/topics/vectors/bouncing_ball.rb +0 -50
- data/samples/processing_app/topics/vectors/vector_math.rb +0 -39
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Building the custom nn Library
|
|
2
|
-
==============================
|
|
3
|
-
This is an example of a java library that you can build yourself with the included Rakefile.
|
|
4
|
-
You need a jdk, a system version of jruby and the ruby-compiler gem to build the nn library
|
|
5
|
-
(see ext dir).
|
|
6
|
-
Compiling and building the jar is dead easy just issue the following command in a console.
|
|
7
|
-
|
|
8
|
-
`jruby -S rake compile`
|
|
9
|
-
|
|
10
|
-
you may also need to set JAVA_HOME to point to your jdk eg
|
|
11
|
-
|
|
12
|
-
`export JAVA_HOME=/opt/jdk1.7.0_65` for linux users
|
|
13
|
-
|
|
14
|
-
You can even run the sketch using `rake`, with the `:run` task `rake run` and tidy up when your are done `rake clean`
|
|
15
|
-
|
|
16
|
-
This example was taken from [The Nature of Code](https://github.com/shiffman/The-Nature-of-Code) by Dan Shiffman, except the example has been rubified (and even the java code was doctored to be more up to date, and to prefer double to float).
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
if RUBY_PLATFORM =~ /java/
|
|
2
|
-
# -*- ruby -*-
|
|
3
|
-
require 'rake/javaextensiontask'
|
|
4
|
-
|
|
5
|
-
Rake::JavaExtensionTask.new('nn') do |ext|
|
|
6
|
-
ext.name = 'nn'
|
|
7
|
-
ext.debug = true
|
|
8
|
-
ext.lib_dir = 'library/nn'
|
|
9
|
-
ext.source_version='1.7'
|
|
10
|
-
ext.target_version='1.7'
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
desc 'clean'
|
|
15
|
-
task :clean do
|
|
16
|
-
FileUtils.rm_rf(FileList['tmp', 'library'])
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
desc 'run'
|
|
20
|
-
task :run do
|
|
21
|
-
sh `rp5 run xor.rb`
|
|
22
|
-
end
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
// Daniel Shiffman
|
|
2
|
-
// The Nature of Code, Fall 2006
|
|
3
|
-
// Neural Network
|
|
4
|
-
|
|
5
|
-
// Class to describe a connection between two neurons
|
|
6
|
-
|
|
7
|
-
package nn;
|
|
8
|
-
|
|
9
|
-
public class Connection {
|
|
10
|
-
|
|
11
|
-
private final Neuron from; // Connection goes from. . .
|
|
12
|
-
private final Neuron to; // To. . .
|
|
13
|
-
private double weight; // Weight of the connection. . .
|
|
14
|
-
|
|
15
|
-
// Constructor builds a connection with a random weight
|
|
16
|
-
public Connection(Neuron a_, Neuron b_) {
|
|
17
|
-
from = a_;
|
|
18
|
-
to = b_;
|
|
19
|
-
weight = Math.random()*2-1;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
// In case I want to set the weights manually, using this for testing
|
|
23
|
-
public Connection(Neuron a_, Neuron b_, double w) {
|
|
24
|
-
from = a_;
|
|
25
|
-
to = b_;
|
|
26
|
-
weight = w;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public Neuron getFrom() {
|
|
30
|
-
return from;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
public Neuron getTo() {
|
|
34
|
-
return to;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
public double getWeight() {
|
|
38
|
-
return weight;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Changing the weight of the connection
|
|
42
|
-
public void adjustWeight(double deltaWeight) {
|
|
43
|
-
weight += deltaWeight;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
//Daniel Shiffman
|
|
2
|
-
//The Nature of Code, Fall 2006
|
|
3
|
-
//Neural Network
|
|
4
|
-
|
|
5
|
-
// Hidden Neuron Class
|
|
6
|
-
// So far not necessary to differentiate these
|
|
7
|
-
|
|
8
|
-
package nn;
|
|
9
|
-
|
|
10
|
-
public class HiddenNeuron extends Neuron {
|
|
11
|
-
|
|
12
|
-
public HiddenNeuron() {
|
|
13
|
-
super();
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
public HiddenNeuron(int i) {
|
|
17
|
-
super(i);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
//Daniel Shiffman
|
|
2
|
-
//The Nature of Code, Fall 2006
|
|
3
|
-
//Neural Network
|
|
4
|
-
|
|
5
|
-
// Input Neuron Class
|
|
6
|
-
// Has additional functionality to receive beginning input
|
|
7
|
-
|
|
8
|
-
package nn;
|
|
9
|
-
|
|
10
|
-
public class InputNeuron extends Neuron {
|
|
11
|
-
public InputNeuron() {
|
|
12
|
-
super();
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
public InputNeuron(int i) {
|
|
16
|
-
super(i);
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
public void input(double d) {
|
|
20
|
-
output = d;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
}
|
|
@@ -1,136 +0,0 @@
|
|
|
1
|
-
// Daniel Shiffman
|
|
2
|
-
// The Nature of Code, Fall 2006
|
|
3
|
-
// Neural Network
|
|
4
|
-
|
|
5
|
-
// Class to describe the entire network
|
|
6
|
-
// Arrays for input_array neurons, hidden_array neurons, and output neuron
|
|
7
|
-
|
|
8
|
-
// Need to update this so that it would work with an array out outputs
|
|
9
|
-
// Rather silly that I didn't do this initially
|
|
10
|
-
|
|
11
|
-
// Also need to build in a "Layer" class so that there can easily
|
|
12
|
-
// be more than one hidden_array layer
|
|
13
|
-
|
|
14
|
-
package nn;
|
|
15
|
-
|
|
16
|
-
import java.util.ArrayList;
|
|
17
|
-
|
|
18
|
-
public class Network {
|
|
19
|
-
|
|
20
|
-
// Layers
|
|
21
|
-
InputNeuron[] input_array;
|
|
22
|
-
HiddenNeuron[] hidden_array;
|
|
23
|
-
OutputNeuron output;
|
|
24
|
-
|
|
25
|
-
public static final double LEARNING_CONSTANT = 0.5;
|
|
26
|
-
|
|
27
|
-
// Only One output now to start!!! (i can do better, really. . .)
|
|
28
|
-
// Constructor makes the entire network based on number of inputs & number of neurons in hidden_array layer
|
|
29
|
-
// Only One hidden_array layer!!! (fix this dood)
|
|
30
|
-
|
|
31
|
-
public Network(int inputs, int hidden_arraytotal) {
|
|
32
|
-
|
|
33
|
-
input_array = new InputNeuron[inputs+1]; // Got to add a bias input_array
|
|
34
|
-
hidden_array = new HiddenNeuron[hidden_arraytotal+1];
|
|
35
|
-
|
|
36
|
-
// Make input_array neurons
|
|
37
|
-
for (int i = 0; i < input_array.length-1; i++) {
|
|
38
|
-
input_array[i] = new InputNeuron();
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
// Make hidden_array neurons
|
|
42
|
-
for (int i = 0; i < hidden_array.length-1; i++) {
|
|
43
|
-
hidden_array[i] = new HiddenNeuron();
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
// Make bias neurons
|
|
47
|
-
input_array[input_array.length-1] = new InputNeuron(1);
|
|
48
|
-
hidden_array[hidden_array.length-1] = new HiddenNeuron(1);
|
|
49
|
-
|
|
50
|
-
// Make output neuron
|
|
51
|
-
output = new OutputNeuron();
|
|
52
|
-
for (InputNeuron input : input_array) {
|
|
53
|
-
for (int j = 0; j < hidden_array.length-1; j++) {
|
|
54
|
-
// Create the connection object and put it in both neurons
|
|
55
|
-
Connection c = new Connection(input, hidden_array[j]);
|
|
56
|
-
input.addConnection(c);
|
|
57
|
-
hidden_array[j].addConnection(c);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
for (HiddenNeuron hidden : hidden_array) {
|
|
61
|
-
Connection c = new Connection(hidden, output);
|
|
62
|
-
hidden.addConnection(c);
|
|
63
|
-
output.addConnection(c);
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
public double feedForward(double[] inputVals) {
|
|
70
|
-
|
|
71
|
-
// Feed the input_array with an array of inputs
|
|
72
|
-
for (int i = 0; i < inputVals.length; i++) {
|
|
73
|
-
input_array[i].input(inputVals[i]);
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
// Have the hidden_array layer calculate its output
|
|
77
|
-
for (int i = 0; i < hidden_array.length-1; i++) {
|
|
78
|
-
hidden_array[i].calcOutput();
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
// Calculate the output of the output neuron
|
|
82
|
-
output.calcOutput();
|
|
83
|
-
|
|
84
|
-
// Return output
|
|
85
|
-
return output.getOutput();
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
public double train(double[] inputs, double answer) {
|
|
89
|
-
double result = feedForward(inputs);
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
// This is where the error correction all starts
|
|
93
|
-
// Derivative of sigmoid output function * diff between known and guess
|
|
94
|
-
double deltaOutput = result * (1 - result) * (answer - result);
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
// BACKPROPOGATION
|
|
98
|
-
// This is easier b/c we just have one output
|
|
99
|
-
// Apply Delta to connections between hidden_array and output
|
|
100
|
-
ArrayList<Connection> connections = output.getConnections();
|
|
101
|
-
for (int i = 0; i < connections.size(); i++) {
|
|
102
|
-
Connection c = connections.get(i);
|
|
103
|
-
Neuron neuron = c.getFrom();
|
|
104
|
-
double temp_output = neuron.getOutput();
|
|
105
|
-
double deltaWeight = temp_output * deltaOutput;
|
|
106
|
-
c.adjustWeight(LEARNING_CONSTANT * deltaWeight);
|
|
107
|
-
}
|
|
108
|
-
for (HiddenNeuron hidden : hidden_array) {
|
|
109
|
-
connections = hidden.getConnections();
|
|
110
|
-
double sum = 0;
|
|
111
|
-
// Sum output delta * hidden_array layer connections (just one output)
|
|
112
|
-
for (int j = 0; j < connections.size(); j++) {
|
|
113
|
-
Connection c = connections.get(j);
|
|
114
|
-
// Is this a connection from hidden_array layer to next layer (output)?
|
|
115
|
-
if (c.getFrom() == hidden) {
|
|
116
|
-
sum += c.getWeight() * deltaOutput;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
// Then adjust the weights coming in based:
|
|
120
|
-
// Above sum * derivative of sigmoid output function for hidden_array neurons
|
|
121
|
-
for (int j = 0; j < connections.size(); j++) {
|
|
122
|
-
Connection c = connections.get(j);
|
|
123
|
-
// Is this a connection from previous layer (input_array) to hidden_array layer?
|
|
124
|
-
if (c.getTo() == hidden) {
|
|
125
|
-
double temp_output = hidden.getOutput();
|
|
126
|
-
double deltaHidden = temp_output * (1 - temp_output); // Derivative of sigmoid(x)
|
|
127
|
-
deltaHidden *= sum; // Would sum for all outputs if more than one output
|
|
128
|
-
Neuron neuron = c.getFrom();
|
|
129
|
-
double deltaWeight = neuron.getOutput() * deltaHidden;
|
|
130
|
-
c.adjustWeight(LEARNING_CONSTANT * deltaWeight);
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
return result;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
//Daniel Shiffman
|
|
2
|
-
//The Nature of Code, Fall 2006
|
|
3
|
-
//Neural Network
|
|
4
|
-
|
|
5
|
-
//Generic Neuron Class
|
|
6
|
-
//Can be a bias neuron (true or false)
|
|
7
|
-
|
|
8
|
-
package nn;
|
|
9
|
-
|
|
10
|
-
import java.util.ArrayList;
|
|
11
|
-
|
|
12
|
-
public class Neuron {
|
|
13
|
-
|
|
14
|
-
protected double output;
|
|
15
|
-
protected ArrayList<Connection> connections;
|
|
16
|
-
protected boolean bias = false;
|
|
17
|
-
|
|
18
|
-
// A regular Neuron
|
|
19
|
-
public Neuron() {
|
|
20
|
-
output = 0;
|
|
21
|
-
// Using an arraylist to store list of connections to other neurons
|
|
22
|
-
connections = new ArrayList<>();
|
|
23
|
-
bias = false;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
// Constructor for a bias neuron
|
|
27
|
-
public Neuron(int i) {
|
|
28
|
-
output = i;
|
|
29
|
-
connections = new ArrayList<>();
|
|
30
|
-
bias = true;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
// Function to calculate output of this neuron
|
|
34
|
-
// Output is sum of all inputs * weight of connections
|
|
35
|
-
public void calcOutput() {
|
|
36
|
-
if (bias == false) {
|
|
37
|
-
double sum = 0;
|
|
38
|
-
double bias_value = 0;
|
|
39
|
-
//System.out.println("Looking through " + connections.size() + " connections");
|
|
40
|
-
for (int i = 0; i < connections.size(); i++) {
|
|
41
|
-
Connection c = connections.get(i);
|
|
42
|
-
Neuron from = c.getFrom();
|
|
43
|
-
Neuron to = c.getTo();
|
|
44
|
-
// Is this connection moving forward to us
|
|
45
|
-
// Ignore connections that we send our output to
|
|
46
|
-
if (to == this) {
|
|
47
|
-
// This isn't really necessary
|
|
48
|
-
// But I am treating the bias individually in case I need to at some point
|
|
49
|
-
if (from.bias) {
|
|
50
|
-
bias_value = from.getOutput()*c.getWeight();
|
|
51
|
-
} else {
|
|
52
|
-
sum += from.getOutput()*c.getWeight();
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
// Output is result of sigmoid function
|
|
57
|
-
output = f(bias_value + sum);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
void addConnection(Connection c) {
|
|
62
|
-
connections.add(c);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
double getOutput() {
|
|
66
|
-
return output;
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Sigmoid function
|
|
70
|
-
public static double f(double x) {
|
|
71
|
-
return 1.0 / (1.0 + Math.exp(-x));
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
public ArrayList<Connection> getConnections() {
|
|
75
|
-
return connections;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
# The Nature of Code
|
|
2
|
-
# Daniel Shiffman
|
|
3
|
-
# http:#natureofcode.com
|
|
4
|
-
|
|
5
|
-
# "Landscape" example
|
|
6
|
-
|
|
7
|
-
class Landscape
|
|
8
|
-
include Processing::Proxy
|
|
9
|
-
|
|
10
|
-
attr_reader :scl, :w, :h, :rows, :cols, :z, :zoff
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
def initialize(scl, w, h)
|
|
15
|
-
@scl, @w, @h = scl, w, h
|
|
16
|
-
@cols = w / scl
|
|
17
|
-
@rows = h / scl
|
|
18
|
-
@z = Array.new(cols, Array.new(rows, 0.0))
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
# Calculate height values (based off a neural network)
|
|
23
|
-
def calculate(nn)
|
|
24
|
-
val = ->(curr, nn, x, y){curr * 0.95 + 0.05 * (nn.feed_forward([x, y]) * 280.0 - 140.0)}
|
|
25
|
-
@z = (0 ... cols).map{|i|
|
|
26
|
-
(0 ... rows).map{|j|
|
|
27
|
-
val.call(z[i][j], nn, i * 1.0/ cols, j * 1.0/cols)
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
# Render landscape as grid of quads
|
|
33
|
-
def render
|
|
34
|
-
# Every cell is an individual quad
|
|
35
|
-
# (could use quad_strip here, but produces funny results, investigate this)
|
|
36
|
-
(0 ... z.size - 1).each do |x|
|
|
37
|
-
(0 ... z[0].size - 1).each do |y|
|
|
38
|
-
|
|
39
|
-
# one quad at a time
|
|
40
|
-
# each quad's color is determined by the height value at each vertex
|
|
41
|
-
# (clean this part up)
|
|
42
|
-
no_stroke
|
|
43
|
-
push_matrix
|
|
44
|
-
begin_shape(QUADS)
|
|
45
|
-
translate(x * scl - w * 0.5, y * scl - h * 0.5, 0)
|
|
46
|
-
fill(z[x][y]+127, 220)
|
|
47
|
-
vertex(0, 0, z[x][y])
|
|
48
|
-
fill(z[x+1][y]+127, 220)
|
|
49
|
-
vertex(scl, 0, z[x+1][y])
|
|
50
|
-
fill(z[x+1][y+1]+127, 220)
|
|
51
|
-
vertex(scl, scl, z[x+1][y+1])
|
|
52
|
-
fill(z[x][y+1]+127, 220)
|
|
53
|
-
vertex(0, scl, z[x][y+1])
|
|
54
|
-
end_shape
|
|
55
|
-
pop_matrix
|
|
56
|
-
end
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
# The Nature of Code
|
|
2
|
-
# Daniel Shiffman
|
|
3
|
-
# http://natureofcode.com
|
|
4
|
-
|
|
5
|
-
# XOR Multi-Layered Neural Network Example
|
|
6
|
-
# Neural network java code is all in the "src" folder
|
|
7
|
-
load_library :nn
|
|
8
|
-
|
|
9
|
-
require_relative './landscape'
|
|
10
|
-
include_package 'nn'
|
|
11
|
-
|
|
12
|
-
ITERATIONS_PER_FRAME = 5
|
|
13
|
-
|
|
14
|
-
attr_reader :inputs, :nn, :count, :land, :theta, :f, :result, :known
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
def setup
|
|
18
|
-
|
|
19
|
-
size(400, 400, P3D)
|
|
20
|
-
@theta = 0.0
|
|
21
|
-
# Create a landscape object
|
|
22
|
-
@land = Landscape.new(20, 300, 300)
|
|
23
|
-
@f = create_font("Courier", 12, true)
|
|
24
|
-
|
|
25
|
-
@nn = Network.new(2, 4)
|
|
26
|
-
@count = 0
|
|
27
|
-
# Create a list of 4 training inputs
|
|
28
|
-
@inputs = []
|
|
29
|
-
inputs << [1.0, 0]
|
|
30
|
-
inputs << [0, 1.0]
|
|
31
|
-
inputs << [1.0, 1.0]
|
|
32
|
-
inputs << [0, 0.0]
|
|
33
|
-
end
|
|
34
|
-
|
|
35
|
-
def draw
|
|
36
|
-
lights
|
|
37
|
-
ITERATIONS_PER_FRAME.times do |i|
|
|
38
|
-
inp = inputs.sample
|
|
39
|
-
# Compute XOR
|
|
40
|
-
@known = ((inp[0] > 0.0 && inp[1] > 0.0) || (inp[0] < 1.0 && inp[1] < 1.0))? 0 : 1.0
|
|
41
|
-
|
|
42
|
-
# Train that sucker!
|
|
43
|
-
@result = nn.train(inp, known)
|
|
44
|
-
@count += 1
|
|
45
|
-
end
|
|
46
|
-
|
|
47
|
-
# Ok, visualize the solution space
|
|
48
|
-
background(175)
|
|
49
|
-
push_matrix
|
|
50
|
-
translate(width / 2, height / 2 + 20, -160)
|
|
51
|
-
rotate_x(Math::PI / 3)
|
|
52
|
-
rotate_z(theta)
|
|
53
|
-
|
|
54
|
-
# Put a little BOX on screen
|
|
55
|
-
push_matrix
|
|
56
|
-
|
|
57
|
-
stroke(50)
|
|
58
|
-
no_fill
|
|
59
|
-
translate(-10, -10, 0)
|
|
60
|
-
box(280)
|
|
61
|
-
land.calculate(nn)
|
|
62
|
-
land.render
|
|
63
|
-
# Draw the landscape
|
|
64
|
-
pop_matrix
|
|
65
|
-
|
|
66
|
-
@theta += 0.0025
|
|
67
|
-
pop_matrix
|
|
68
|
-
|
|
69
|
-
# Display overal neural net stats
|
|
70
|
-
network_status
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
def network_status
|
|
74
|
-
mse = 0.0
|
|
75
|
-
text_font(f)
|
|
76
|
-
fill(0)
|
|
77
|
-
text("Your friendly neighborhood neural network solving XOR.", 10, 20)
|
|
78
|
-
text("Total iterations: #{count}", 10, 40)
|
|
79
|
-
mse += (result - known) * (result - known)
|
|
80
|
-
rmse = Math::sqrt(mse / 4.0)
|
|
81
|
-
out = "Root mean squared error: #{format('%0.5f', rmse)}"
|
|
82
|
-
hint DISABLE_DEPTH_SORT
|
|
83
|
-
text(out, 10, 60)
|
|
84
|
-
hint ENABLE_DEPTH_SORT
|
|
85
|
-
end
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|