Skip to content

ArcBall functionality for processing (ruby versions) as gem

License

GPL-3.0, GPL-3.0 licenses found

Licenses found

GPL-3.0
LICENSE
GPL-3.0
LICENSE.md
Notifications You must be signed in to change notification settings

ruby-processing/ArcBall

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArcBall

ArcBall functionality for processing (ruby versions) as gem

Example Usage

The sketch class need to to inherit from PApplet to work and self should return such an instance. The following is a propane example. Drag mouse to rotate. Hold down 'x', 'y' or 'z' keys to constrain axis of rotation, mouse-wheel to zoom.

class ArcBallBox < Propane::App
  ############################
  # Use mouse drag to rotate
  # the arcball. Use mousewheel
  # to zoom. Hold down x, y, z
  # to constrain rotation axis.
  ############################
  def setup
    sketch_title 'Arcball Box'
    Processing::ArcBall.init self, 300, 300
    fill 180
  end

  def draw
    background 50
    box 300, 300, 300
  end

  def settings
    size 600, 600, P3D
    smooth 8
  end
end

ArcBallBox.new

Since version 0.0.2, you can also fix rotation to one axis at initialization

require 'arcball'

def setup
  size(600, 600, P3D)
  smooth(8)
  Processing::ArcBall.constrain self #, :zaxis # default constrains to y-axis
  fill 180
end

def draw
  background(50)  
  box(300, 300, 300)
end