詰め込み問題のBLF法の実装
This is an implementation of Bottom-Left method for 2-Dimensional Strip Packing Problem.
Add this line to your application's Gemfile:
gem 'blf'
And then execute:
$ bundle
Or install it yourself as:
$ gem install blf
require "blf"
# create the world.
world = BLF.create_world width: 500, height: 500
# add a block with coordinates.
world.add_block_with_location x: 60, y: 0, width: 50, height: 50
(1..50).each do |n|
w = Random.new(Random.new_seed).rand * 100 + 10
h = Random.new(Random.new_seed).rand * 100 + 10
# add a block without coordinates. this becomes a target of allocation.
world.add_block width: w, height: h
end
# do allocation to all the blocks without coordinates.
world.allocate_all
world.draw
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request