class Iroki::Color::Gradient

Attributes

color_hex_codes[RW]
lumins[RW]
max_lumin[RW]
min_lumin[RW]
samples[RW]
single_color[RW]

Public Instance Methods

counts_to_rabunds(counts) click to toggle source
# File lib/iroki/color/gradient.rb, line 71
def counts_to_rabunds counts
  max_count = counts.max.to_f

  counts.map do |count|
    count / max_count
  end
end
patterns() click to toggle source
# File lib/iroki/color/gradient.rb, line 61
def patterns
  hash = {}
  @samples.zip(@color_hex_codes).each do |(sample, hexcode)|
    tag = Iroki::Color.get_tag hexcode
    hash[sample] = { label: tag, branch: tag }
  end

  hash
end
rabunds_to_lumins(rabunds) click to toggle source
# File lib/iroki/color/gradient.rb, line 79
def rabunds_to_lumins rabunds
  rabunds.map do |count|
    # scale_reverse count, new_min=50, new_max=97
    # scale_reverse count, new_min=35, new_max=85
    scale_reverse count, new_min=@min_lumin, new_max=@max_lumin
    # scale_reverse count, 0.0, 50.0
  end
end
scale(x, new_min=0.05, new_max=0.9, old_min=0.0, old_max=1.0) click to toggle source

scales [old_min, old_max] to [new_min, new_max]

# File lib/iroki/color/gradient.rb, line 30
def scale x,
          new_min=0.05,
          new_max=0.9,
          old_min=0.0,
          old_max=1.0

  x = x.to_f
  new_min = new_min.to_f
  new_max = new_max.to_f
  old_min = old_min.to_f
  old_max = old_max.to_f

  ((((new_max - new_min) * (x - old_min.to_f)) / (old_max - old_min)) + new_min)
end
scale_reverse(x, new_min=0.0, new_max=0.0, old_min=0.0, old_max=1.0) click to toggle source

scales [old_min, old_max] to [new_max, new_min]

# File lib/iroki/color/gradient.rb, line 46
def scale_reverse x,
                  new_min=0.0,
                  new_max=0.0,
                  old_min=0.0,
                  old_max=1.0

  x = x.to_f
  new_min = new_min.to_f
  new_max = new_max.to_f
  old_min = old_min.to_f
  old_max = old_max.to_f

  (new_max - ((((new_max - new_min) * (x - old_min.to_f)) / (old_max - old_min)) + new_min)) + new_min
end