RubyGem 'Salamander' でコッホ曲線を描く
以前、自作の Gem 'oekaki' でコッホ曲線を描いてみましたが(参照)、タートルグラフックスを実装している Gem 'salamander'(参照)を使って同じことをしてみました。
4次のコッホ曲線です。
salamander_koch_curve.rb
require 'salamander' require 'salamander/support/radians' include Salamander include Salamander::Drawing screen = Salamander.setup(600, 300) Actor.draw(screen) do move_to 50, 200 color :cyan face :east drawing = proc do |length, depth| if depth.zero? line length else drawing[length / 3, depth - 1] turn -60.degrees drawing[length / 3, depth - 1] turn 120.degrees drawing[length / 3, depth - 1] turn -60.degrees drawing[length / 3, depth - 1] end end drawing[500.0, 4] end screen.redraw loop { break if SDL.WaitEvent.type == SDL::QUIT }