Class: Perlin::GradientTable

Inherits:
Object
  • Object
show all
Defined in:
lib/perlin/gradient_table.rb

Instance Method Summary collapse

Constructor Details

#initialize(dim, interval = 256, seed = nil) ⇒ GradientTable

Bit-wise AND operation is not any faster than MOD in Ruby MOD operation returns positive number for negative input



22
23
24
25
26
27
28
29
# File 'lib/perlin/gradient_table.rb', line 22

def initialize dim, interval = 256, seed = nil
  @dim = dim
  @interval = interval
  @random = Random.new(*[seed].compact)

  @table   = Array.new(interval) { @random.rand @interval }
  @vectors = Array.new(interval) { random_unit_vector }
end

Instance Method Details

#[](*coords) ⇒ Object



31
32
33
# File 'lib/perlin/gradient_table.rb', line 31

def [](*coords)
  @vectors[index(*coords)]
end