Sha256: 0ab95089ef073df7bfe7fcf5684114de39d45c7b695091a0a5444e1495508d70

Contents?: true

Size: 772 Bytes

Versions: 4

Compression:

Stored size: 772 Bytes

Contents

#
# Vector 
# by Daniel Shiffman.  
# 
# Demonstration some basic vector math: subtraction, normalization, scaling
# Normalizing a vector sets its length to 1.
#

def setup
  size(640,360)
  smooth
end

def draw
  background(0)
  
  # A vector that points to the mouse location
  mouse = PVector.new(mouseX,mouseY)
  # A vector that points to the center of the window
  center = PVector.new(width/2,height/2)
  # Subtract center from mouse which results in a vector that points from center to mouse
  mouse.sub(center)
  
  # Normalize the vector
  mouse.normalize
  
  # Multiply its length by 150 (Scaling its length)
  mouse.mult(150)

  translate(width/2,height/2)
  # Draw the resulting vector
  stroke(255)
  stroke_weight(4)
  line(0, 0, mouse.x, mouse.y)
  
end


Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ruby-processing-2.4.4 samples/processing_app/topics/vectors/vector_math.rb
ruby-processing-2.4.3 samples/processing_app/topics/vectors/vector_math.rb
ruby-processing-2.4.2 samples/processing_app/topics/vectors/vector_math.rb
ruby-processing-2.4.1 samples/processing_app/topics/vectors/vector_math.rb