class Photomosaic::Color::HSV

Attributes

hue[R]
saturation[R]
value[R]

Public Class Methods

new(hue, saturation, value) click to toggle source
# File lib/photomosaic/color/hsv.rb, line 6
def initialize(hue, saturation, value)
  @hue = hue
  @saturation = saturation
  @value = value
end

Public Instance Methods

calculate_distance(hsv) click to toggle source
# File lib/photomosaic/color/hsv.rb, line 12
def calculate_distance(hsv)
  Math.sqrt(squares_array(hsv).inject(&:+))
end

Private Instance Methods

squares_array(hsv) click to toggle source
# File lib/photomosaic/color/hsv.rb, line 18
def squares_array(hsv)
  [
   (self.hue - hsv.hue)**2,
   (self.saturation - hsv.saturation)**2,
   (self.value - hsv.value)**2
  ]
end