class Tsukuba::GC::RGB

Constants

COLORS

Attributes

b[R]
g[R]
r[R]

Public Class Methods

new(red, green, blue) click to toggle source
# File lib/tsukuba/gc/rgb.rb, line 8
def initialize(red, green, blue)
  @r = red
  @g = green
  @b = blue
end

Public Instance Methods

type() click to toggle source
# File lib/tsukuba/gc/rgb.rb, line 26
def type
  kind = nil
  min_dist = nil

  COLORS.each do |key, rgb|
    d = dist(rgb)
    if min_dist.nil? || min_dist > d
      min_dist = d
      kind = key
    end
  end

  return kind
end

Private Instance Methods

dist(rgb) click to toggle source
# File lib/tsukuba/gc/rgb.rb, line 43
def dist(rgb)
  dr = @r - rgb.r
  dg = @g - rgb.g
  db = @b - rgb.b
  return dr * dr + dg * dg + db * db
end