Class: Perlin::GradientTable
- Inherits:
-
Object
- Object
- Perlin::GradientTable
- Defined in:
- lib/perlin/gradient_table.rb
Instance Method Summary collapse
- #[](*coords) ⇒ Object
-
#initialize(dim, interval = 256, seed = nil) ⇒ GradientTable
constructor
Bit-wise AND operation is not any faster than MOD in Ruby MOD operation returns positive number for negative input.
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 |