ruby-processing 1.0.4 → 1.0.5

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 (136) hide show
  1. data/CHANGELOG +8 -0
  2. data/lib/patches/JRubyApplet.diff +0 -0
  3. data/lib/patches/PATCHES.txt +0 -0
  4. data/lib/patches/PApplet.diff +0 -0
  5. data/lib/ruby-processing.rb +1 -1
  6. data/lib/ruby-processing/app.rb +20 -1
  7. data/lib/ruby-processing/exporters/base_exporter.rb +1 -1
  8. data/lib/ruby-processing/exporters/creator.rb +1 -2
  9. data/lib/ruby-processing/runner.rb +4 -3
  10. data/lib/ruby-processing/runners/watch.rb +2 -2
  11. data/lib/templates/applet/index.html.erb +1 -1
  12. metadata +2 -145
  13. data/samples/learning_processing/ABOUT +0 -11
  14. data/samples/learning_processing/chapter_01/1_stroke_and_fill.rb +0 -18
  15. data/samples/learning_processing/chapter_01/2_nofill.rb +0 -20
  16. data/samples/learning_processing/chapter_01/3_rgb_color.rb +0 -19
  17. data/samples/learning_processing/chapter_01/4_alpha_transparency.rb +0 -42
  18. data/samples/learning_processing/chapter_01/5_zoog.rb +0 -24
  19. data/samples/learning_processing/chapter_02/1_zoog_again.rb +0 -41
  20. data/samples/learning_processing/chapter_03/1_zoog_as_dynamic_sketch.rb +0 -44
  21. data/samples/learning_processing/chapter_03/2_mouse_x_and_mouse_y.rb +0 -26
  22. data/samples/learning_processing/chapter_03/3_zoog_as_dynamic_sketch_with_variation.rb +0 -41
  23. data/samples/learning_processing/chapter_03/4_drawing_a_continuous_line.rb +0 -18
  24. data/samples/learning_processing/chapter_03/5_mouse_pressed_and_key_pressed.rb +0 -29
  25. data/samples/learning_processing/chapter_03/6_interactive_zoog.rb +0 -42
  26. data/samples/learning_processing/chapter_04/1_variable_declaration.rb +0 -24
  27. data/samples/learning_processing/chapter_04/2_using_variables.rb +0 -27
  28. data/samples/learning_processing/chapter_04/3_varying_variables.rb +0 -27
  29. data/samples/learning_processing/chapter_04/4_many_variables.rb +0 -38
  30. data/samples/learning_processing/chapter_04/5_using_system_variables.rb +0 -28
  31. data/samples/learning_processing/chapter_04/6_ellipse_with_variables.rb +0 -24
  32. data/samples/learning_processing/chapter_04/7_filling_variables_with_random_values.rb +0 -27
  33. data/samples/learning_processing/chapter_04/8_variable_zoog.rb +0 -50
  34. data/samples/learning_processing/chapter_05/01_conditionals.rb +0 -31
  35. data/samples/learning_processing/chapter_05/02_more_conditionals.rb +0 -38
  36. data/samples/learning_processing/chapter_05/03_rollovers.rb +0 -34
  37. data/samples/learning_processing/chapter_05/04_hold_down_the_button.rb +0 -33
  38. data/samples/learning_processing/chapter_05/05_button_as_switch.rb +0 -39
  39. data/samples/learning_processing/chapter_05/06_bouncing_ball.rb +0 -33
  40. data/samples/learning_processing/chapter_05/07_bouncing_color.rb +0 -37
  41. data/samples/learning_processing/chapter_05/08_square_following_edge.rb +0 -59
  42. data/samples/learning_processing/chapter_05/09_simple_gravity.rb +0 -43
  43. data/samples/learning_processing/chapter_05/10_zoog_and_conditionals.rb +0 -53
  44. data/samples/learning_processing/chapter_06/01_many_lines.rb +0 -29
  45. data/samples/learning_processing/chapter_06/02_many_lines_with_variables.rb +0 -53
  46. data/samples/learning_processing/chapter_06/03_while_loop.rb +0 -30
  47. data/samples/learning_processing/chapter_06/04_infinite_loop.rb +0 -25
  48. data/samples/learning_processing/chapter_06/05_another_infinite_loop.rb +0 -33
  49. data/samples/learning_processing/chapter_06/06_legs_with_a_for_loop.rb +0 -41
  50. data/samples/learning_processing/chapter_06/07_local_variables.rb +0 -39
  51. data/samples/learning_processing/chapter_06/08_lines_one_at_a_time.rb +0 -30
  52. data/samples/learning_processing/chapter_06/09_simple_while_loop_with_interactivity.rb +0 -41
  53. data/samples/learning_processing/chapter_06/10_zoog_with_arms.rb +0 -56
  54. data/samples/learning_processing/chapter_06/11_multiple_zoogs.rb +0 -46
  55. data/samples/learning_processing/chapter_07/01_defining_a_function.rb +0 -22
  56. data/samples/learning_processing/chapter_07/02_calling_a_function.rb +0 -22
  57. data/samples/learning_processing/chapter_07/03_bouncing_ball_with_functions.rb +0 -49
  58. data/samples/learning_processing/chapter_07/04_function_returns_distance.rb +0 -48
  59. data/samples/learning_processing/chapter_07/05_zoog_with_functions.rb +0 -71
  60. data/samples/learning_processing/chapter_08/01_car_class_and_car_variable.rb +0 -45
  61. data/samples/learning_processing/chapter_08/02_two_car_objects.rb +0 -60
  62. data/samples/learning_processing/chapter_08/03_object_oriented_zoog.rb +0 -81
  63. data/samples/learning_processing/chapter_10/01_catcher.rb +0 -35
  64. data/samples/learning_processing/chapter_10/02_bouncing_ball.rb +0 -44
  65. data/samples/learning_processing/chapter_10/03_bouncing_balls_with_intersection.rb +0 -69
  66. data/samples/learning_processing/chapter_10/04_a_timer.rb +0 -24
  67. data/samples/learning_processing/chapter_10/05_object_oriented_timer.rb +0 -42
  68. data/samples/learning_processing/chapter_10/06_simple_raindrop.rb +0 -23
  69. data/samples/learning_processing/chapter_10/07_drops_one_at_a_time.rb +0 -63
  70. data/samples/learning_processing/chapter_13/02_random_number_distribution.rb +0 -24
  71. data/samples/learning_processing/chapter_13/03_probabilities.rb +0 -33
  72. data/samples/learning_processing/chapter_13/04_perlin_noise.rb +0 -22
  73. data/samples/learning_processing/chapter_13/06_oscillation.rb +0 -29
  74. data/samples/learning_processing/chapter_13/07_wave.rb +0 -31
  75. data/samples/learning_processing/chapter_13/08_recursion.rb +0 -30
  76. data/samples/learning_processing/chapter_13/09_two_dimensional_array.rb +0 -21
  77. data/samples/learning_processing/chapter_13/10_two_dimensional_array_with_objects.rb +0 -54
  78. data/samples/learning_processing/chapter_14/01_growing_rectangle.rb +0 -26
  79. data/samples/learning_processing/chapter_14/02_multiple_translations.rb +0 -37
  80. data/samples/learning_processing/chapter_14/03_depth_rectangle.rb +0 -29
  81. data/samples/learning_processing/chapter_14/04_pyramid_using_beingshape.rb +0 -55
  82. data/samples/learning_processing/chapter_14/05_rotate_rectangle_around_center.rb +0 -28
  83. data/samples/learning_processing/chapter_14/06_rotate_z.rb +0 -24
  84. data/samples/learning_processing/chapter_14/07_rotate_x.rb +0 -24
  85. data/samples/learning_processing/chapter_14/08_rotate_y.rb +0 -24
  86. data/samples/learning_processing/chapter_14/09_rotate_all.rb +0 -24
  87. data/samples/learning_processing/chapter_14/10_draw_pyramid.rb +0 -59
  88. data/samples/learning_processing/chapter_14/12_rotating_one_square.rb +0 -25
  89. data/samples/learning_processing/chapter_14/13_rotating_another_square.rb +0 -25
  90. data/samples/learning_processing/chapter_14/14_rotating_both_squares.rb +0 -43
  91. data/samples/learning_processing/chapter_14/15_rotating_many_things.rb +0 -56
  92. data/samples/learning_processing/chapter_14/16_simple_solar_system.rb +0 -53
  93. data/samples/learning_processing/chapter_14/17_nested_push_and_pop.rb +0 -50
  94. data/samples/learning_processing/chapter_14/18_object_oriented_solar_system.rb +0 -69
  95. data/samples/learning_processing/chapter_15/01_hello_world_image.rb +0 -20
  96. data/samples/learning_processing/chapter_15/02_image_sprite.rb +0 -29
  97. data/samples/learning_processing/chapter_15/03_swapping_images.rb +0 -25
  98. data/samples/learning_processing/chapter_15/04_image_sequence.rb +0 -22
  99. data/samples/learning_processing/chapter_15/05_setting_pixels.rb +0 -19
  100. data/samples/learning_processing/chapter_15/06_pixels_2d.rb +0 -29
  101. data/samples/learning_processing/chapter_15/07_image_pixels.rb +0 -40
  102. data/samples/learning_processing/chapter_15/08_image_brightness.rb +0 -29
  103. data/samples/learning_processing/chapter_15/09_flashlight_effect.rb +0 -42
  104. data/samples/learning_processing/chapter_15/10_brightness_threshold.rb +0 -33
  105. data/samples/learning_processing/chapter_15/11_brightness_threshold_with_filter.rb +0 -20
  106. data/samples/learning_processing/chapter_15/12_pixel_neighbour_differences.rb +0 -43
  107. data/samples/learning_processing/chapter_15/14_pointillism.rb +0 -34
  108. data/samples/learning_processing/chapter_15/15_2d_image_mapped_to_3d.rb +0 -43
  109. data/samples/learning_processing/chapter_15/data/animal0.jpg +0 -0
  110. data/samples/learning_processing/chapter_15/data/animal1.jpg +0 -0
  111. data/samples/learning_processing/chapter_15/data/animal2.jpg +0 -0
  112. data/samples/learning_processing/chapter_15/data/animal3.jpg +0 -0
  113. data/samples/learning_processing/chapter_15/data/animal4.jpg +0 -0
  114. data/samples/learning_processing/chapter_15/data/animal5.jpg +0 -0
  115. data/samples/learning_processing/chapter_15/data/animal6.jpg +0 -0
  116. data/samples/learning_processing/chapter_15/data/face.jpg +0 -0
  117. data/samples/learning_processing/chapter_15/data/mysummervacation.jpg +0 -0
  118. data/samples/learning_processing/chapter_15/data/sunflower.jpg +0 -0
  119. data/samples/learning_processing/chapter_16/01_display_video.rb +0 -25
  120. data/samples/learning_processing/chapter_16/02_manipulate_video_image.rb +0 -24
  121. data/samples/learning_processing/chapter_16/03_adjust_video_brightness.rb +0 -49
  122. data/samples/learning_processing/chapter_17/01_simple_displaying_text.rb +0 -14
  123. data/samples/learning_processing/chapter_17/02_text_align.rb +0 -21
  124. data/samples/learning_processing/chapter_17/03_scrolling_headlines.rb +0 -35
  125. data/samples/learning_processing/chapter_17/04_text_mirror.rb +0 -68
  126. data/samples/learning_processing/chapter_17/05_rotating_text.rb +0 -22
  127. data/samples/learning_processing/chapter_17/06_text_breaking_up.rb +0 -73
  128. data/samples/learning_processing/chapter_17/07_boxes_along_a_curve.rb +0 -49
  129. data/samples/learning_processing/chapter_17/08_characters_along_a_curve.rb +0 -51
  130. data/samples/learning_processing/chapter_17/data/ArialMT-16.vlw +0 -0
  131. data/samples/learning_processing/chapter_17/data/Courier-Bold-20.vlw +0 -0
  132. data/samples/learning_processing/chapter_18/01_user_input.rb +0 -39
  133. data/samples/learning_processing/chapter_18/02_graphing_comma_separated_numbers_from_a_text_file.rb +0 -28
  134. data/samples/learning_processing/chapter_18/03_creating_object_from_a_text_file.rb +0 -64
  135. data/samples/learning_processing/chapter_18/data/data-1.txt +0 -1
  136. data/samples/learning_processing/chapter_18/data/data-2.txt +0 -10
@@ -1,26 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class GrowingRectangleSketch < Processing::App
4
-
5
- def setup
6
- rect_mode CENTER
7
- @r = 8
8
- end
9
-
10
- def draw
11
- background 255
12
- # Display a rectangle in the middle of the screen
13
- stroke 0
14
- fill 175
15
- rect width/2, height/2, @r, @r
16
-
17
- # Increase the rectangle size
18
- @r += 1
19
-
20
- # Start rectangle over
21
- @r = 0 if @r > width
22
- end
23
-
24
- end
25
-
26
- GrowingRectangleSketch.new :title => "Growing Rectangle", :width => 200, :height => 200
@@ -1,37 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class MultipleTranslationsSketch < Processing::App
4
-
5
- def setup
6
- smooth
7
- end
8
-
9
- def draw
10
- background 255
11
- stroke 0
12
- fill 175
13
-
14
- # Grab mouse coordinates, constrained to window
15
- mx = constrain(mouse_x, 0, width)
16
- my = constrain(mouse_y, 0, height)
17
-
18
- # Translate to the mouse location
19
- translate mx, my
20
- ellipse 0, 0, 8, 8
21
-
22
- # Translate 100 pixels to the right
23
- translate 100, 0
24
- ellipse 0, 0, 8, 8
25
-
26
- # Translate 100 pixels down
27
- translate 0, 100
28
- ellipse 0, 0, 8, 8
29
-
30
- # Translate 100 pixels left
31
- translate -100, 0
32
- ellipse 0, 0, 8, 8
33
- end
34
-
35
- end
36
-
37
- MultipleTranslationsSketch.new :title => "Multiple Translations", :width => 200, :height => 200
@@ -1,29 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class DepthRectangleSketch < Processing::App
4
-
5
- def setup
6
- @z = 0 # A variable for the z (depth) coordinate
7
- rect_mode CENTER
8
- render_mode P3D
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- # Translate to a point before displaying a shape there
17
- translate width/2, height/2, @z
18
- rect 0, 0, 8, 8
19
-
20
- # Increment z (i.e. move the shape toward the viewer)
21
- @z += 1
22
-
23
- # Start rectangle over
24
- @z = 0 if @z > 200
25
- end
26
-
27
- end
28
-
29
- DepthRectangleSketch.new :title => "Depth Rectangle", :width => 200, :height => 200
@@ -1,55 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class PyramidUsingBeginshape < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- end
8
-
9
- def draw
10
- background 255
11
- stroke 0
12
-
13
- # The pyramid's vertices are drawn relative to a centerpoint.
14
- # Therefore, we call translate to place the pyramid properly in the window.
15
- # A slightly better option might be to include the translate in the draw_pyramid function and pass in x,y,z as arguments
16
- translate 100, 100, 0
17
- draw_pyramid 150
18
- end
19
-
20
-
21
- # The function sets the vertices for the pyramid around the centerpoint at a flexible distance,
22
- # depending on the number passed in as an argument.
23
- def draw_pyramid(t)
24
- # this pyramid has 4 sides, each drawn as a separate triangle
25
- # each side has 3 vertices, making up a triangle shape
26
- # the parameter " t " determines the size of the pyramid
27
- begin_shape TRIANGLES
28
-
29
- fill 255, 150 # Note that each polygon can have its own color.
30
- vertex -t,-t,-t
31
- vertex t,-t,-t
32
- vertex 0, 0, t
33
-
34
- fill 150, 150
35
- vertex t,-t,-t
36
- vertex t, t,-t
37
- vertex 0, 0, t
38
-
39
- fill 255, 150
40
- vertex t, t,-t
41
- vertex -t, t,-t
42
- vertex 0, 0, t
43
-
44
- fill 150, 150
45
- vertex -t, t,-t
46
- vertex -t,-t,-t
47
- vertex 0, 0, t
48
-
49
- end_shape
50
- end
51
-
52
- end
53
-
54
- PyramidUsingBeginshape.new :title => "Draw Pyramid Using BeginShape", :width => 200, :height => 200
55
-
@@ -1,28 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotateRectangleAroundCenterSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- end
9
-
10
- def draw
11
- background 255
12
- stroke 0
13
- fill 175
14
-
15
- # translate to center
16
- translate width/2, height/2
17
- # The greek letter "theta" is often used as the name of a variable to store an angle
18
- # The angle ranges from 0 to PI, based on the ratio of mouse_x location to the sketch's width.
19
- theta = PI * mouse_x / width
20
-
21
- rotate theta
22
- rect 0, 0, 100, 100
23
- end
24
-
25
- end
26
-
27
- RotateRectangleAroundCenterSketch.new :title => "Rotate Rectangle Around Center", :width => 200, :height => 200
28
-
@@ -1,24 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotateZSketch < Processing::App
4
-
5
- def setup
6
- rect_mode CENTER
7
- render_mode P3D
8
- @theta = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- translate width/2, height/2
17
- rotate_z @theta
18
- rect 0, 0, 100, 100
19
- @theta += 0.02
20
- end
21
-
22
- end
23
-
24
- RotateZSketch.new :title => "Rotate Z", :width => 200, :height => 200
@@ -1,24 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotateXSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- @theta = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- translate width/2, height/2
17
- rotate_x @theta
18
- rect 0, 0, 100, 100
19
- @theta += 0.02
20
- end
21
-
22
- end
23
-
24
- RotateXSketch.new :title => "Rotate X", :width => 200, :height => 200
@@ -1,24 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotateYSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- @theta = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- translate width/2, height/2
17
- rotate_y @theta
18
- rect 0, 0, 100, 100
19
- @theta += 0.02
20
- end
21
-
22
- end
23
-
24
- RotateYSketch.new :title => "Rotate Y", :width => 200, :height => 200
@@ -1,24 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotateAllSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- end
9
-
10
- def draw
11
- background 255
12
- stroke 0
13
- fill 175
14
-
15
- translate width/2, height/2
16
- rotate_x PI * mouse_x / height
17
- rotate_y PI * mouse_x / height
18
- rect 0, 0, 100, 100
19
- end
20
-
21
- end
22
-
23
- RotateAllSketch.new :title => "Rotate All", :width => 200, :height => 200
24
-
@@ -1,59 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class DrawPyramidSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- @theta = 0.0
8
- end
9
-
10
- def draw
11
- background 255
12
- @theta += 0.01
13
-
14
- translate 100, 100, 0
15
- rotate_x @theta
16
- rotate_y @theta
17
- draw_pyramid 50
18
-
19
- # translate the scene again
20
- translate 50, 50, 20
21
- # call the pyramid drawing function
22
- draw_pyramid 10
23
- end
24
-
25
- def draw_pyramid(t)
26
- stroke 0
27
-
28
- # this pyramid has 4 sides, each drawn as a separate triangle
29
- # each side has 3 vertices, making up a triangle shape
30
- # the parameter "t" determines the size of the pyramid
31
- begin_shape TRIANGLES
32
-
33
- fill 150, 0, 0, 127
34
- vertex -t, -t, -t
35
- vertex t, -t, -t
36
- vertex 0, 0, t
37
-
38
- fill 0, 150, 0, 127
39
- vertex t, -t, -t
40
- vertex t, t, -t
41
- vertex 0, 0, t
42
-
43
- fill 0, 0, 150, 127
44
- vertex t, t, -t
45
- vertex -t, t, -t
46
- vertex 0, 0, t
47
-
48
- fill 150, 0, 150, 127
49
- vertex -t, t, -t
50
- vertex -t, -t, -t
51
- vertex 0, 0, t
52
-
53
- end_shape
54
- end
55
-
56
- end
57
-
58
-
59
- DrawPyramidSketch.new :title => "Draw Pyramid", :width => 200, :height => 200
@@ -1,25 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotatingOneSquareSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- @theta1 = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- translate 50, 50
17
- rotate_z @theta1
18
- rect 0, 0, 60, 60
19
- @theta1 += 0.02
20
- end
21
-
22
- end
23
-
24
- RotatingOneSquareSketch.new :title => "Rotating One Square", :width => 200, :height => 200
25
-
@@ -1,25 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotatingAnotherSquareSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- @theta2 = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- translate 150, 150
17
- rotate_y @theta2
18
- rect 0, 0, 60, 60
19
- @theta2 += 0.02
20
- end
21
-
22
- end
23
-
24
- RotatingAnotherSquareSketch.new :title => "Rotating Another Square", :width => 200, :height => 200
25
-
@@ -1,43 +0,0 @@
1
- require 'ruby-processing'
2
-
3
- class RotatingBothSquaresSketch < Processing::App
4
-
5
- def setup
6
- render_mode P3D
7
- rect_mode CENTER
8
- @theta1 = @theta2 = 0
9
- end
10
-
11
- def draw
12
- background 255
13
- stroke 0
14
- fill 175
15
-
16
- # Save the current transformation matrix.
17
- # This is where we started, with (0,0) in the top left corner of the window and no rotation.
18
- push_matrix
19
-
20
- # Translate and rotate the first rectangle.
21
- translate 50, 50
22
- rotate_z @theta1
23
- # Display the first rectangle.
24
- rect 0, 0, 60, 60
25
- # Restore matrix from Step 1 so that it isn't affected by Steps 2 and 3!
26
- pop_matrix
27
-
28
- push_matrix
29
- # Translate and rotate the second rectangle.
30
- translate 150, 150
31
- rotate_y @theta2
32
- # Display the second rectangle.
33
- rect 0, 0, 60, 60
34
- pop_matrix
35
-
36
- @theta1 += 0.02
37
- @theta2 += 0.02
38
- end
39
-
40
- end
41
-
42
- RotatingBothSquaresSketch.new :title => "Rotating Both Squares", :width => 200, :height => 200
43
-