Skip to content
Martin Prout edited this page Sep 1, 2015 · 3 revisions

In ruby everything is an object including numeric values

Processing provides degrees(val) and radians(val) as convenience methods, in ruby-processing Numeric has been extended to provide:-

  • val.degrees (eg PI.degrees)
  • val.radians (eg 80.radians)

PVector is replaced by Vec2D and Vec3D

  • Vec2D.new(x, y) ( instead of new PVector(x,y) if coming from processing )
  • vec.normalize returns a normalized copy of vec
  • vec.normalize! returns vec which has been normalized
  • the add, subtract, multiply and divide operations of PVector are replaced by +, -, * and /

Library loading

  • load_library :hilbert
  • load_libraries :vbo, :control_panel

The load_library and load_libraries are synonyms, it just looks nicer to use the appropriate form. They allow for the easy loading both java and ruby libraries. Libraries can be in the core JrubyArt library folder or the sketchbook/libraries folder (or similar for Mac), or in an adjacent library folder. You can load local files with require_relative which might be better than using a local library in some cases. You should prefer to use symbol for library as above but string form eg 'vbo' is also supported.